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