我想在我的项目中使用简单的表格拆分来了解它,但是如何在不同的程序集中进行此操作?
我有两个名为MyApp.Core
和MyApp.CommerceService
的类库
在.Core
项目中,我有User
实体:
public partial class User
{
public long UserId { get; set; }
public string Username { get; set; }
public string Email { get; set; }
public Customer Customer { get; set; }
}
在.CommerceService
我有Customer
实体:
public partial class Customer
{
private ICollection<Address> _addresses;
public Customer()
{
this.CustomerGuid = Guid.NewGuid();
}
public long UserId { get; set; }
public User User { get; set; }
public Guid CustomerGuid { get; set; }
public int VendorId { get; set; }
public virtual Address BillingAddress { get; set; }
public virtual Address ShippingAddress { get; set; }
public virtual ICollection<Address> Addresses
{
get { return _addresses ?? (_addresses = new List<Address>()); }
protected set { _addresses = value; }
}
}
如果将Customer
实体置于.Core
项目中,那就没关系了。现在我有添加程序集引用的问题,因为这会产生循环。
我是学生,请给我一个提示。谢谢。
答案 0 :(得分:0)
你的问题是你的项目循环依赖,解决这个问题的最简单方法是将所有实体提取到另一个项目我将创建一个新项目MyApp.Entities或MyApp.DataAccess。
将所有实体放在此项目中,然后您可以从coreService和CommerceService引用此项目。我还建议移动任何EF相关文件,例如上下文。