我有这个方法,首先,它从数据库(联接表)中获取所有数据,然后用搜索属性和搜索关键字过滤结果,如下所示。一切都很好,直到我加上开关。。。LINQ的情况,我得到错误"Metadata.dll找不到"。很明显,错误来自它,但我不知道错误是什么,我对LINQ还很陌生。
public IPagedList<dynamic> Execute(int pageIndex, int pageSize, string searchProperty, string searchKeyword)
{
IQueryable<dynamic> dokumente;
dokumente = session.Query<Dokument>().Select(dokument =>
new {Beschreibung = dokument.Beschreibung,
Link = dokument.Link,
Dokumenttyp = dokument.Dokumenttyp.Bezeichnung,
}).ToList().AsQueryable();
if (!string.IsNullOrEmpty(searchProperty))
{
switch (searchProperty)
{
case "Beschreibung":
dokumente = dokumente.Where(x => x.Beschreibung == searchKeyword);
break;
case "Link":
dokumente = dokumente.Where(x => x.Link == searchKeyword);
break;
case "Dokumenttyp":
dokumente = dokumente.Where(x => x.Dokumenttyp == searchKeyword);
break;
}
}
return new PagedList<dynamic>(dokumente, pageIndex, pageSize);
}
这不是代码中的错误,它与您的打包和配置有关。请尝试重新启动Visual Studio,或者如果其他操作都失败,请重新组合解决方案。
另请参阅:元数据文件';。。。\发布\project.dll';在Visual Studio 中找不到