Как создать отношения внешнего ключа с Платформой Объекта?

Я надеюсь, что это объяснит вам, почему они на самом деле являются линейными.

предположим, что вы вызываете функцию и видите, сколько раз они выполнялись

Prime(n): # 1 time 
    for i in range(2, n-1) #n-1-1 times
        if n % i == 0  # 1 time 
            return False # 1 time

    return True # 1 time


# overall -> n

Prime(n): # Time
    for i in range(2, (n/2+1)) # n//(2+1) -1-1 time
        if n % i == 0 # 1 time
            return False # 1 time
    return True # 1 time

# overall -> n/2 times -> n times

это показывает, что штрих является линейной функцией

O (n ^ 2) может быть из-за блока кода, где эта функция называется.

5
задан tereško 13 July 2012 в 07:10
поделиться

3 ответа

(Спасибо John для грамматики фиксирует),

Таким образом, я понял это. Это - то, что необходимо сделать:

db.Models.Order order = DB.Models.Order.CreateOrder( apple );
order.Customer = (from c in db.Customer where c.Id == custId select c).First();
db.SaveChanges();

Я надеюсь, что это помогает людям.

8
ответ дан 18 December 2019 в 13:20
поделиться

Почему бы не использовать ссылки на сущность? Ваш метод вызовет дополнительное SELECT оператор.

Намного более хороший путь состоит в том, чтобы использовать CustomerReference класс и EntityKey.

order.CustomerReference = new System.Data.Objects.DataClasses.EntityReference<Customers>();
order.CustomerReference.EntityKey = new EntityKey("ModelsEntities.Customers", "Id", custId);
6
ответ дан 18 December 2019 в 13:20
поделиться

Вот пример кода для обновления:

using (var ctx = new DataModelEntities())
{

       var result = (from p in ctx.UserRole.Where(o => o.UserRoleId == userRole.UserRoleId)
                              select p).First();

       result.RolesReference.EntityKey = new EntityKey("DataModelEntities.Roles",
                                       "RoleId", userRole.RoleId);

       result.UserRoleDescription = userRole.UserRoleDescription;      
       ctx.SaveChanges();
}
0
ответ дан 18 December 2019 в 13:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: