gpt4 book ai didi

c# - ASP.NET MVC2 : IQueryable from join

转载 作者:太空宇宙 更新时间:2023-11-03 22:17:27 25 4
gpt4 key购买 nike

在我的 Controller 类中,我必须连接两个表:

var query = from logger in database.LOGGERs
join testcase in database.TESTCASEs on logger.TCID equals testcase.TCID select new {logger, testcase};

在 View 中我试图调用值,例如:

 <% foreach (var testCase in Model.SearchResults)

<td width="200"title="<%= (testCase.SCRIPTNAME %>"

这会导致错误:

Unable to cast object of type '<>f__AnonymousType1`2[TestAutomationService.Models.LOGGER,TestAutomationService.Models.TESTCASE]' to type 'TestAutomationService.Models.LOGGER'.

那么我必须声明什么而不是 var 来访问匿名类型?我试过使用 LOGGER,它可以工作,但它显然不允许我访问 TESTCASE。

我正在寻找类似的东西:

foreach (IQuerable<{LOGGER, TESTCASE}> testCase in Model.SearchResults) 
...

最佳答案

这是匿名类型的缺点。一旦您超出创建它的范围,不使用反射就没有一种简单的方法来访问它的成员。

我的建议是创建另一个具有 View 所需信息的类( View 模型)并用查询结果填充它。这样您就可以访问所有内容,因为您使用的类型不再是匿名类型。

关于c# - ASP.NET MVC2 : IQueryable from join,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4555146/

25 4 0