I'm trying to get anonymous object from query:
var myList = from td in MyObjectList
select new
{
a = td.a,
b = td.b,
c = td.c,
name = (from r in contex.NewList
where r.aa == td.a && r.bb == td.b
select r.Name).ToList()
};
I would like name to have r.Name value cause I expect that name list contains only one element. If it contains 0 elements I would like name to have value NONE if more then 1 element then exception should be thrown or something.
Is it even possible to achieve something like that? Thanks for help.
Instead of .ToList()
use
.SingleOrDefault() ?? (td.a == 0 ? "XNone" : "None")
Edit: Changed anwer based on comment.
Also I would recomend not to put such logic into Linq-to-SQL. Sometimes this can result in big chunk of highly-unoptimized SQL code and, unless you dont mind some performance isues, can result in much slower SQL execution.