【发布时间】:2011-09-26 09:23:21
【问题描述】:
我遇到了一个很严重的问题,希望你能帮我解决一下
有如下的linq-to-sql查询,很简单:
var i = from cr in db.ComprobanteRecepcions join c in db.Comprobantes
on new { cr.RFC, cr.RFCProveedor, cr.Folio, cr.Serie } equals new { c.RFC, c.RFCProveedor, c.Folio, c.Serie }
where
Convert.ToString(cr.IDSucursal) == "4" &&
cr.RFC == "FIN020938SVR "
select new { cr.Serie, cr.Folio, cr.IDStatusComp, c.FechaEmision, c.Comentarios, c.Total };
我想将 i 传递给一个方法,比如这样
mymethod void(var a)
当然不能这样做......并创建一个类型(类)来返回它,就像这样
select new MyType {cr.Serie, cr.Folio, cr.IDStatusComp, c.FechaEmision, c.Comentarios, c.Total };
是不切实际的,例如返回 XElement 或 XDocument 那我还能做什么?我必须用 var i 变量填充数据网格,但我不知道如何获取这个变量,我也用谷歌搜索了答案,但没有一个简单的答案......
了解我是使用 c#、.net 和 MS 技术的新手(我是一名 Java 程序员)
【问题讨论】:
-
你不能使用 mymethod void(object a) 吗?
-
为什么声明类不切实际?它只需要包含您在匿名类中设置的所有属性名称的属性或成员变量。您可以模板化您的 mymethod,但如果您想按名称访问属性,则需要声明类或使用“动态”作为参数。
-
为什么为此创建一个类是不切实际的?
-
这是不切实际的,因为我必须进行 50 次这样的查询。使用一个类意味着我必须创建 50 个类,每个查询一个,这对我来说听起来像是很多工作......
-
@Nick Bradley,好吧,假设我能做到,我该如何拆箱变量?
标签: c# asp.net linq linq-to-sql datagrid