Jea*_*ean 2 entity-framework entity-framework-core asp.net-core
我有 2 个独立的数据库,因此在 ASP.Net Core/EFCore 中有 2 个独立的 DbContext。
我有一个位于一个数据库中的对象,它有一个指向另一个数据库的“外键”。
假设我有一个包含事件的数据库和另一个包含城市的地理数据库。我的活动课上有一个 cityId。
public class Event
{
public int Id {get;set;}
public string Name {get;set;}
public string CityId {get;set;}
public virtual City City {get;set;}
}
public class City
{
public int Id {get;set;}
public string Name {get;set;}
}
Run Code Online (Sandbox Code Playgroud)
Include
查询第一个 DbContext 时是否可以以某种方式访问 City 属性?
不。这是不可能的,您必须独立查询其他上下文。
var event = eventContext.Events.Find(eventId);
event.City = geoContext.Cities.Find(event.CityId);
Run Code Online (Sandbox Code Playgroud)
FWIW,您应该将该City
属性标记Event
为NotMapped
。否则,EF 将Cities
在与 相同的数据库中创建一个表,Events
并向该表添加一个实际的外键Events
,即使City
实际上是由不同的上下文管理的。
归档时间: |
|
查看次数: |
1419 次 |
最近记录: |