我有一个模型类,用于在datatbase中存储信息。然后我创建了一个列表测试。这将列出获取xml数据并将其放入列表中。
所以在我的控制器中,
我有这个linq查询:
function somefunction()
{
var mov = from m in db.Movies
select m;
List<Movie> items = MyXMLExtract();//this gets xml file from a url, then returns a list<Movie>.
var thistest = mov.ToList().Concat(items);; //I concatenate the two linq
return thistest;
}
在我看来,我有这个:
@model IEnumerable<Models.Movie>
但是,此视图中的所有内容都会出错:
无法创建“Models.Movie”类型的常量值。在此上下文中仅支持原始类型或枚举类型。
我理解错误,但如何处理呢?
基本上我正在返回一个列表,我正在使用Ienumerable
,该怎么办?
我的视图只是一个foreach
循环输出字段名称。
电影和项目都使用与电影相同的数据库模型。
下面给出了一个错误:
对象引用未设置为对象的实例。
if (!String.IsNullOrEmpty(searchString))
{
thistest = thistest.Where(s => s.description.Contains(searchString)
|| s.title.Contains(searchString)
|| s.location.Contains(searchString));
}
答案 0 :(得分:1)
LINQ尝试将List项目传递给DB,并在SQL Server端连接它们。
更改mov.Concat(items); to mov.ToList()。Concat(items)在连接之前从SQL中提取数据。