我先使用EF代码。
我创建了两个类。为简单起见,假设我有一个User表(类)和一个FileAttachment表。我想将FileAttachment表与许多其他类一起使用,因此需要具有FileAttachment的应用程序的任何部分都可以重用该表。问题是当EF生成模式时,它会在FileAttachment表中创建一个返回User表的外键。有没有办法禁用它?
由于
答案 0 :(得分:0)
您需要构建一个中间类。
public class UserDocument
{
public int Id {get;set;}
public int UserId {get;set;}
public virtual User User {get;set;}
public int FileAttachmentId {get;set;}
public virtual FileAttachment FileAttachment {get;set;}
}
所以你的用户类现在可以拥有:
public virtual ICollection<UserDocument> Documents {get;set;}
在这种情况下,FileAttachment类将不会引用User。
如果您现在想要构建其他文档类型,只需实现另一种中间类型,即想象您想拥有CustomerDocument:
public class CustomerDocument
{
public int Id {get;set;}
public int CustomerId {get;set;}
public virtual Customer Customer {get;set;}
public int FileAttachmentId {get;set;}
public virtual FileAttachment FileAttachment {get;set;}
}
然后你的假设客户类会有:
public virtual ICollection<CustomerDocument> Documents {get;set;}