2012-07-18 70 views
1

试图从模型拉以JSON值后使用自动完成在破发点LINQ to Entities不支持指定的类型成员。

指定类型的成员得到这个错误“SuggPromise”在LINQ是不支持的实体。只有初始化,实体成员和实体导航属性都支持

这里是示范

public string SuggPromise 
    { 
     get 
     { 
      return Title; 
     } 
    } 

这里是JSON请求

public ActionResult QuickSearch(string term) 
    { 
     var promises = promiseRepository.Promises 
      .Where(r => r.Title.Contains(term)) 
      .Take(10) 
      .Select(r => new { label = r.SuggPromise}); 
     return Json(promises, JsonRequestBehavior.AllowGet); 

    } 

回答

2

您只能使用映射特性到LINQ-To-Entities表达式中的数据库列。 SuggPromise似乎不是一个。可以使用:

yadda.blah.Select(r => new { label = r.Title }) 

在EF中做投影;或

yadda.blah.AsEnumerable() 
    .Select(r => new { label = r.Title }) 

获取整个实体,然后用LINQ-To-Objects进行投影。

相关问题