[英]returning null or object in Linq-to-SQL query
When I'm looking for a record that is mapped to an object model, I have something like this: 当我寻找映射到对象模型的记录时,我会看到以下内容:
var Output = (from x in MyDC.SomeTable
where ....
select new SomeObjectModel()
{
SomeProp = x.SomeColumnField
}.Single();
Now, I want to return on object but only if the object was found I'm doing this: 现在,我想返回对象,但只有在找到对象的情况下,我才这样做:
var Output = (from x in MyDC.SomeTable
where ....
orderby x.SomeTime descending
select s).FirstOrDefault();
This tells me if the object was found and from there, I want to be able to retrieve SomeObjectModel()
and fill in its properties but only if there's an element that was found with the . 这告诉我是否找到了对象,然后从那里开始,我希望能够检索
SomeObjectModel()
并填写其属性,但SomeObjectModel()
只有在中找到了元素。 FirstOrDefault()
statement and combine all this into one query. FirstOrDefault()
语句,并将所有这些组合到一个查询中。 I tried adding a Select
after .FirstOrDefault()
but it doesn't work. 我尝试在
.FirstOrDefault()
之后添加一个Select
,但是它不起作用。
Thanks for your help. 谢谢你的帮助。
Use FirstOrDefault
with your first version. 将
FirstOrDefault
与第一个版本一起使用。 You can also use SingleOrDefault
if you are expecting only a single item or null. 如果只期望单个项目或为null,则也可以使用
SingleOrDefault
。
var Output = (from x in MyDC.SomeTable
where ....
select new SomeObjectModel()
{
SomeProp = x.SomeColumnField
}.SingleOrDefault(); //if only single item is expected or null
return Output;
var OutputAsModel = (from x in MyDC.SomeTable
where ....
orderby x.SomeTime descending
select s).Select(o=>new SomeObjectModel(o)).FirstOrDefault();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.