LINQ查询记录

时间:2015-05-31 18:00:16

标签: c# asp.net-mvc linq entity-framework

修改 原来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”

1 个答案:

答案 0 :(得分:1)

您不能存储在字符串类型(或基元)的数据库列表中。您需要创建具有id和string值的ExampleTable类。或者将整个列表保存在一个属性中(例如用&#39 ;;&#39;分隔的字符串)并使用split解析给定的字符串。或者将列表序列化为json并保存为字符串属性。