jww*_*art 2 mapping code-first ef-code-first entity-framework-4.1 asp.net-mvc-3
我有这样一个实体:
public class Course {
public CultureInfo Culture {get; set;}
:
}
Run Code Online (Sandbox Code Playgroud)
我想只将Name属性映射CultureInfo到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);
}
}
}
Run Code Online (Sandbox Code Playgroud)
在映射中,您将定义:
modelBuilder.Entity<Course>()
.Ignore(c => c.Culture);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
734 次 |
| 最近记录: |