C# 实体框架从一到多的单向关联
我有一个Account类,它将用于指示谁对某个实体负责。将有许多实体使用它,所以我不想用所有这些集合污染我的Account类C# 实体框架从一到多的单向关联,c#,entity-framework,associations,one-to-many,C#,Entity Framework,Associations,One To Many,我有一个Account类,它将用于指示谁对某个实体负责。将有许多实体使用它,所以我不想用所有这些集合污染我的Account类 public class Account { public Guid Id{get; set;} public Guid Name{get; set;} ... public class EntityConfiguration : EntityConfigurationBase<Account> { publi
public class Account
{
public Guid Id{get; set;}
public Guid Name{get; set;}
...
public class EntityConfiguration : EntityConfigurationBase<Account>
{
public EntityConfiguration()
{
// I do not want these!
HasMany(a => a.As)
.WithOptional(x => x.Account)
.HasForeignKey(x =>x.AccountKey);
}
}
}
}
public class A
{
public Guid Id {get; set;}
public Account Account{get; set;}
// FK-Nav property
public Guid AccountKey{get;set;}
public class EntityConfiguration : EntityConfigurationBase<A>
{
public EntityConfiguration()
{
// what should go here to specify the association to Account?
????
}
}
}
public class B
{
public Guid Id {get; set;}
public Account Account{get; set;}
// FK-Nav property
public Guid AccountKey{get;set;}
public class EntityConfiguration : EntityConfigurationBase<B>
{
public EntityConfiguration()
{
// what should go here to specify the association to Account?
????
}
}
}
etc.
公共类帐户
{
公共Guid Id{get;set;}
公共Guid名称{get;set;}
...
公共类EntityConfiguration:EntityConfiguration库
{
公共实体配置()
{
//我不要这些!
HasMany(a=>a.As)
.WithOptional(x=>x.Account)
.HasForeignKey(x=>x.AccountKey);
}
}
}
}
公共A类
{
公共Guid Id{get;set;}
公共帐户{get;set;}
//FK导航属性
公共Guid AccountKey{get;set;}
公共类EntityConfiguration:EntityConfiguration库
{
公共实体配置()
{
//应该在此处指定与帐户的关联?
????
}
}
}
公共B级
{
公共Guid Id{get;set;}
公共帐户{get;set;}
//FK导航属性
公共Guid AccountKey{get;set;}
公共类EntityConfiguration:EntityConfiguration库
{
公共实体配置()
{
//应该在此处指定与帐户的关联?
????
}
}
}
等
公共A类
{
公共Guid Id{get;set;}
公共帐户{get;set;}
//FK导航属性
公共Guid AccountKey{get;set;}
公共类EntityConfiguration:EntityConfiguration库
{
公共实体配置()
{
HasOptional(x=>x.Account).HasMany().HasForeignKey(x=>x.AccountKey);
}
}
}
不确定是否合适,但您是否考虑过自定义代码优先约定@科林:我认为这些还没有出现在我的E.F.版本中。我正在使用5.0和.NET4.5(VisualStudio2010)
public class A
{
public Guid Id {get; set;}
public Account Account{get; set;}
// FK-Nav property
public Guid AccountKey{get;set;}
public class EntityConfiguration : EntityConfigurationBase<A>
{
public EntityConfiguration()
{
HasOptional(x => x.Account).HasMany().HasForeignKey(x=>x.AccountKey);
}
}
}