1
我是LINQ的新手。我试图加入两张表格,但我很难返回结果。使用LINQ to SQL获取连接结果
这里是我的代码:
using (DatabaseDataContext db = new DatabaseDataContext())
{
var list = db.Products.Join(db.ProductDetails,
p => p.ID,
d => d.ProductID,
(p, d) => new {
p.ID,p.Photo,d.Name,d.LanguageID
}).Where(d=>d.LanguageID== lang).ToList();
}
嗯,我不能使用变量list
使用外,当我宣布(之前)的变量外“使用”,如:var list;
。
我得到的错误:
Implicitly-typed local variables must be initialized
更新:
我改变了代码:
DatabaseDataContext db = new DatabaseDataContext();
var products = db.Products.Join(db.ProductDetails,
p => p.ID,
d => d.ProductID,
(p, d) => new {
p.ID,p.Photo,d.Name,d.LanguageID
}).Where(d=>d.LanguageID== langs[language].ParseInt()).ToList();
和它的工作。由于我省略了using
,我是否必须像关闭连接一样做任何事情?
有问题没有使用using
?
我知道,但对于很多很多的结果,我会从不同的联接得到我不想为他们每个人的(因为好奇心和懒惰)创建结构或类,我想知道我怎么能得到的结果不重要使用'使用'任何我可能的方式 –
@AshkanMobayenKhiabani你不能从方法返回一个匿名类型。在这种情况下,你必须在方法内部完成所有的逻辑。创建所有模型更好。 –
我在我的问题中添加了一个更新,请你看看它并说出你的意见吗? –