修改 原来EF不会将List字符串映射到表。所以为了修复它,我创建了一个带有id,字符串字段和Example表的外键的简单表,然后在示例表中我更新了List<>属性指向此表。 ......我想我有一个大脑放屁。对不起。
我已经尝试了其他问题,但我仍然遇到同样的错误。
我有一张包含以下内容的表格:
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; }
}
现在,当我去查询数据库时,我想在我正在使用的ExampleList中返回包含“imastring”的条目:
var test = db.Examples.Where(c => c.ExampleList.Count(z => z.Contains("imastring")) == 0).ToList();
但是,此查询会返回以下错误:
LINQ to Entities中不支持指定的类型成员'ExampleList'。仅支持初始化程序,实体成员和实体导航属性。
我无法弄清楚什么是错的,我错过了什么?
为清晰起见
我正在尝试将所有“示例”记录带回“ExampleList&lt;&gt;”包含字符串“imastring”
答案 0 :(得分:1)
您不能存储在字符串类型(或基元)的数据库列表中。您需要创建具有id和string值的ExampleTable类。或者将整个列表保存在一个属性中(例如用&#39 ;;&#39;分隔的字符串)并使用split解析给定的字符串。或者将列表序列化为json并保存为字符串属性。