我是这个EF实体
public class Show
{
private ICollection<Country> _allowedCountries;
public virtual ICollection<Country> AllowedCountries
{
get { return _allowedCountries ?? (_allowedCountries = new List<Country>()); }
set { _allowedCountries = value; }
}
}
其中Country是来自另一个Context的实体。
当我尝试读取属性AllowedCountries时,我收到有关没有现有表的错误。
表&#39; db1.countries&#39;不存在
Show映射到db1.show表,Country映射到db2.countries
我的映射国家/地区和显示表
public class CountryMap : EntityTypeConfiguration<Country>
{
public CountryMap()
{
ToTable("countries", "db2");
//other non useful information
}
}
public ShowMap()
{
ToTable("shows", "db1");
HasMany(x => x.AllowedCountries) //I think problem here
.WithMany()
.Map(m =>
{
m.ToTable("allowed_countries");
m.MapLeftKey("ShowID");
m.MapRightKey("CountryID");
});
}
我认为该问题是由不正确的映射AllowedCountries
引起的答案 0 :(得分:0)
我认为您不能拥有来自不同环境的相关实体。您可以考虑使用链接服务器(MS SQL功能)使两个表对一个连接可见。
答案 1 :(得分:0)
一般来说,你应该从你需要的那一刻起打开一个上下文,并在你完成时关闭它;中间的一切都是在一个单位的工作中完成的。