我需要构建DAL的数据库是用多个模式设计的,这导致了一些问题:
因此,例如,在两个单独的架构(供应商,交易)中考虑这些表
我有C#
namespace Data.Entities.Suppliers
{
public class Suppliers { /* properties mapped to fields in Sql Server table Suppliers .Suppliers */ }
public class Types { /* properties mapped to fields in Sql Server table Suppliers .Types */ }
}
namespace Data.Entities.Deals
{
public class Deals { /* properties mapped to fields in Sql Server table Deals.Deals */ }
public class Types { /* properties mapped to fields in Sql Server table Deals.Types */ }
}
namespace Data.Repositories
{
public class EfDataContext: DbContext
{
public DbSet<Suppliers.Suppliers> Suppliers { get; set; }
public DbSet<Suppliers.Types> SupplierTypes { get; set; }
public DbSet<Deals.Deals> Deals{ get; set; }
public DbSet<Deals.Types> DealTypes { get; set; }
}
}
但EF正在绊倒两个名为“Types”的东西,我如何仅使用DbSet消除歧义?
注意: 我试图摆脱.edmx文件。
答案 0 :(得分:0)
要指定架构,您可以在类上使用TableAttribute(http://msdn.microsoft.com/en-us/library/system.componentmodel.dataannotations.tableattribute(v=vs.103).aspx)或配置使用带有ToTable()方法的流畅api的模型(http://msdn.microsoft.com/en-us/library/system.componentmodel.dataannotations.tableattribute(v = vs.103).aspx)