У меня возникают проблемы при попытке сопоставить мою модель EF 4.1 Code First с базой данных.Все работает нормально, когда база данных точно соответствует коду, но когда я пытаюсь отобразить, когда столбцы различаются по имени, у меня возникают проблемы.
Я следовал учебнику, который, должно быть, был построен с одним изCTP строится потому, что некоторые методы отсутствуют / отличаются.
Моя модель выглядит так:
public class Dinner
{
public int DinnerID { get; set; }
public string HostedBy { get; set; }
public DateTime EventDate { get; set; }
public string Title { get; set; }
public string Address { get; set; }
}
public class NerdDinners : DbContext
{
public DbSet<Dinner> Dinners { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
// THIS IS WHAT I TRIED BUT IT IS FAILING
modelBuilder.Entity<Dinner>().Map(mc =>
{
mc.Properties(c => new {
colID = c.DinnerID,
colTitle = c.Title,
colHost = c.HostedBy,
colDate = c.EventDate,
colAddress = c.Address
});
mc.ToTable("tblDinner");
}
);
}
}
Я хочу, чтобы моя таблица была:
tblDinners
colID
colHost
colDate
colTitle
colAddress
Iполучаю эту ошибку:
Выражение свойств 'c => new <> f__AnonymousType0`5 (colID = c.DinnerID, colTitle = c.Title, colHost = c.HostedBy, colDate = c.EventDate, colAddress = c.Address) 'недопустимо.Выражение должно представлять свойство: C #: 't => t.MyProperty' VB.Net: 'Function (t) t.MyProperty'.При указании нескольких свойств используйте анонимный тип: C #: 't => new {t.MyProperty1, t.MyProperty2}' VB.Net: 'Function (t) New From {t.MyProperty1, t.MyProperty2}'.
Каков правильный синтаксис для сопоставления столбцов?
Бонусные баллы, если вы дадите мне знать, как сопоставить свойство Address в подкласс под названием Address:
public class Address
{
City
State
Zip, etc
}