Немного нового для EF, поэтому, пожалуйста, несите меня, если ответ на это очевиден. Я делаю учебник, который использует EF, и два DbSets определен следующим образом:Код Entity Framework: DbSets и навигационные свойства
public DbSet<BrokerageAccount> BrokerageAccounts { get; set; }
public DbSet<Customer> Customers { get; set; }
Класс клиента выглядит this-- это ПОКО (некоторый код сократить для краткости):
public class Customer
{
public Customer()
{
BrokerageAccounts = new HashSet<BrokerageAccount>();
}
// Primitive properties
public int Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
// Navigation properties
public ICollection<BrokerageAccount> BrokerageAccounts { get; set; }
}
}
Класс BrokerageAccount также является POCO, очень похожим по дизайну Заказчику.
Пока все хорошо. Код, о котором я спрашиваю, приведен ниже. В основной программе между Клиентом и БрокерскимАккаунтом есть ассоциация, за которой я не следую. Код звучит так:
public Customer GetCustomer(string custId)
{
using (var context = DataContext)
{
return context.Customers
.Include("BrokerageAccounts").SingleOrDefault(c => c.CustomerCode == custId);
}
}
Я не могу понять, как ассоциация/нарисуй производится между Клиентом и BrokerageAccount. Я не вижу никаких конфигураций или других файлов в проекте VS 2010, который сообщает, что связывает два DbSets, какую колонку внешнего ключа использовать и т. Д.
Возможно, мне не хватает чего-то очевидного или файла сопоставления какого-либо рода , но только потому, что у Клиента есть ICollection of BrokerageAccount вместе с замечанием выше, в котором говорится «Свойства навигации», это не так. В EF, как создаются эти ассоциации?
«только потому, что у Клиента есть ICollection of BrokerageAccount вместе с комментарием выше, в котором говорится« Свойства навигации », это не так». Ну, в комментарии нет, но сама собственность. Код EF Сначала будут искать свойства 'ICollection' и создать связь с объектом, представленным' T'. –
Приятно познакомиться с Мэттом, спасибо. Есть ли веб-страница, в которой излагаются шаги, которые Code First будет стараться при создании отношений? – larryq