0
我有我想要搜索的數據庫值。c#實體框架混合LINQ到LINQ到實體的對象
要搜索某些內容,用戶需要選擇內存中列表中包含值的特定複選框(否則,複選框的任何更改值將導致保存數據庫,我想避免)。
從我的數據庫的數據由
.Load()
方法加載。
所以,我的問題是,idk如何構建查詢混合我的數據庫值與內存真/假值。
var query1 = from i in db.MyValuesTable
from j in MyMemoryObjects
where j.IsTrue && j.Id == i.Tab2Id && i.Value.Contains(_searchPhrase)
select i;
(from i in db.TableToLoad
from j in query1
where i.CollectionWithValues.Any(x => x.Tab1Id == j.Tab1Id && x.Tab2Id == j.Tab2Id).select i).Load();
我的查詢可能會有點混亂,所以我把數據庫方案如下(EF代碼第一次)
//db object
public class MyValuesTable
{
public int Tab1Id { get; set; }
public int Tab2Id { get; set; }
public string Value { get; set; }
}
//memory object
public class MyMemoryObjects
{
public int Id { get; set; }
public bool IsTrue { get; set; }
}
//db object
public class TableToLoad
{
public int Tab1Id { get; set; }
public int Tab2Id { get; set; }
public string Value { get; set; }
}
你問題不清楚。請理解。 –
我想要查詢哪些混合linq實體和linq到對象返回正確的結果(如果query2不會引發異常與消息應該返回:「無法創建類型的常量值只有原始類型或支持枚舉類型在這方面「) – d3st1ny