C# LINQ查询记录中的列表
编辑 结果表明EF不会将列表字符串映射到表。为了解决这个问题,我创建了一个简单的表,其中有一个id、一个字符串字段和一个外键指向示例表,然后在示例表中,我更新了List属性以指向这个表。。。我想我脑子里放了个屁。对不起 我试过其他的问题,但还是会犯同样的错误 我有一张桌子,上面有:C# LINQ查询记录中的列表,c#,asp.net-mvc,linq,entity-framework,C#,Asp.net Mvc,Linq,Entity Framework,编辑 结果表明EF不会将列表字符串映射到表。为了解决这个问题,我创建了一个简单的表,其中有一个id、一个字符串字段和一个外键指向示例表,然后在示例表中,我更新了List属性以指向这个表。。。我想我脑子里放了个屁。对不起 我试过其他的问题,但还是会犯同样的错误 我有一张桌子,上面有: public class Example { public Example() { ExampleList = new List<string>();
public class Example
{
public Example()
{
ExampleList = new List<string>();
}
public int Id { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public List<string> ExampleList{ get; set; }
}
但是,此查询返回以下错误:
LINQ to实体中不支持指定的类型成员“ExampleList”。仅支持初始值设定项、实体成员和实体导航属性
我不知道怎么了,我错过了什么
为清晰起见
我正在尝试返回所有“示例”记录,其中“ExampleList”包含字符串“imastring”您不能存储在字符串类型(或原语)的数据库列表中。例如,您需要创建带有id和字符串值的ExampleTable类。或者将整个列表保存在一个属性中(例如用“;”分隔的字符串),并用split解析给定的字符串。或者将列表序列化为json并另存为字符串属性 忽略查询,
ExampleList
是否正确地存储在数据库中?我没想到EF会像你写的那样支持它。@CharlesMager Eek,你说得对,它不会创造任何东西。那就别提这个问题了,我需要做些修改。ThanksEntity框架不支持将列表
持久化到数据库中。@haim770是的,有点傻。我意识到这是问题所在,并相应地解决了,因为你已经把我所做的基本上作为答案,我接受了。干杯
var test = db.Examples.Where(c => c.ExampleList.Count(z => z.Contains("imastring")) == 0).ToList();