任何人都可以帮助我下一步:如何在一个 LINQ 请求中使用两个不同的数据上下文?
using (var db = new DataMapDataContext(Connection))
{
using (var dbAdd = new DataMapDataContext(ConnectionAdd))
{
return (from i in dbAdd.ITEMs
join p in db.U_OTT_PINs on i.ITEMNO equals p.PIN_CODE
where p.PIN_TYPE == Utils.PinItem
select ...
}
}
是否可以?
更新:
我解决了我的问题,但没有使用不同的数据上下文:
var listPinnedItems = new List<string>();
using (var db = new DataMapDataContext(Connection))
{
listPinnedItems = (from lpi in db.U_OTT_PINs
where lpi.PIN_TYPE == Utils.PinItem
select lpi.PIN_CODE).ToList();
}
using (var dbAdd = new DataMapDataContext(ConnectionAdd))
{
return (from i in dbAdd.ITEMs
where listPinnedItems.Contains(i.ITEMNO)
...
最佳答案
我不这么认为 - 这两个不同的上下文可能涉及同一数据库中的不同事务,甚至与完全不同的数据库实例交谈。它将如何构建 SQL 以在两者之间工作?
如果您能解释一下您要做什么,我们或许可以为您提供更多帮助。
关于c# - 如何在一个 LINQ 请求中使用两个不同的数据上下文?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3447415/