我有一个像这样的实体:
public class Course { public CultureInfo Culture {get; set;} : }
我想将CultureInfo的Name属性映射到Entity Framework为我生成的表中的单个列.
我怎么会这样呢?目前我已经尝试过查看DbContext的OnModelCreating()方法,但我找不到任何突出的东西.
我正在使用Entity Framework 4.1和MVC 3应用程序使用Code First方法.
非常感谢.
解决方法
Unfrotunatelly EF不能这样做.解决方法是使用Name定义单独的属性,该属性将映射到数据库并将Culture属性标记为未映射.
public class Course { public CultureInfo Culture { get; set; } public string CultureName { get { if (Cuture != null) { return Culture.Name; } return null; } set { // same check for value can be placed here Culture = new CultureInfo(value); } } }
在映射中,您将定义:
modelBuilder.Entity<Course>() .Ignore(c => c.Culture);