Dot*_*row 31 entity-framework-4 ef-code-first entity-framework-4.1
我在MVC 3应用程序中创建了一个实体类.名为RegistryId的属性之一是主键和外键.如何创建列主键和外键?我没有使用EF ORM设计师.我正在手工编写课程.
Lad*_*nka 55
我认为"不使用EF ORM设计器"是指DbContextEF 4.1的新API.因为如果你不是指DbContextAPI,你仍然必须使用EDMX(设计师).
您可以使用数据注释(System.ComponentModel.DataAnnotations):KeyAttribute和ForeignKeyAttribute:
public class Registry
{
public virtual int Id { get; set; }
public virtual MyEntity MyEntity { get; set; }
}
public class MyEntity
{
[Key, ForeignKey("Registry")]
public virtual int RegistryId { get; set; }
public virtual Registry Registry { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
或者您可以使用流畅的API(覆盖OnModelCreating在派生的上下文中):
(编辑:流畅的映射是颠倒的和不完整的)
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<MyEntity>()
.HasKey(e => e.RegistryId);
modelBuilder.Entity<MyEntity>()
.Property(e => e.RegistryId)
.HasDatabaseGeneratedOption(DatabaseGeneratedOption.None);
modelBuilder.Entity<MyEntity>()
.HasRequired(e => e.Registry)
.WithRequiredDependent(r => r.MyEntity);
}
Run Code Online (Sandbox Code Playgroud)
MyEntity您的实体与FK 在哪里,并且Registry是1:1关系的主要实体.
| 归档时间: |
|
| 查看次数: |
22429 次 |
| 最近记录: |