我是 LINQ 的新手,我使用 LINQ to SQL 链接到两个表,它确实返回数据,这很酷。我想了解的是返回的是什么数据类型以及我如何使用这种数据类型?
我习惯于处理数据表。如果使用 LINQ,我们现在是否丢弃数据表(以及所有其他 ADO.Net 对象,如行、数据集等)?如果是这样,我们用什么来代替它,我如何使用它来完成我以前对数据表所做的一切?另外 - 替换数据是否有意义,它们是否存在缺陷?
这是一些代码:
protected IEnumerable<string> GetMarketCodes()
{
LINQOmniDataContext db = new LINQOmniDataContext();
var mcodes = from p in db.lkpMarketCodes
orderby 0
select p;
return (IEnumerable<string>) mcodes;
}
这段代码目前确实返回数据(我可以在调试中看到它),但在“返回”行出错,因为显然我的数据类型不是 IEnumerables,这是我最好的猜测。因此,我还想了解的一件事是我的数据被放入什么数据类型以及如何将其返回给调用函数。
最佳答案
它返回一个 IQueryable<lkpMarketCode>
,假设 lkpMarketCode
是 db.lkpMarketCodes
中的数据类型。如果你想要字符串,你需要 select p.SomeProperty;
,而不仅仅是 select p;
。
您不需要强制转换(因为 IQueryable<T>
实现了 IEnumerable<T>
);如果您将鼠标悬停在 mcodes
上,它也应该告诉您这一点。
关于c# - 如何处理LINQ返回的数据类型,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/554548/