【发布时间】:2015-04-09 22:40:10
【问题描述】:
因为我不喜欢 entityFramework(代码优先)使用的命名约定,所以我通常使用 foreignKey 属性来分配我自己的属性:
public class User {
public virtual Customer Customer { get; set; }
[ForeignKey("Customer")]
public Guid CustomerId { get; set; }
}
工作得很好,在“用户”表中创建了一个“客户 ID”列。
但是,当我需要多对多关系时,我该如何实现呢?
public class User {
public virtual ICollection<Role> Roles { get; set; }
}
public class Role {
public virtual ICollection<User> Users { get;set; }
}
这会产生一个表“UserRole”,其中包含“User_id”和“Role_Id”。
不过,我更喜欢“UserId”和“RoleId”。我可以自己创建一个 UserRole-Class,其中包含对 User 和 Role 的引用,但应该有一种更优雅的方式。有吗?
【问题讨论】:
-
由于该链接表未显示在您的代码中,因此您将无法使用属性。你看过流畅的配置吗?
标签: c# entity-framework