Reputation: 6291
I have the following Customer
table:
Id First Last LocationId
0 John Doe 2
1 Mary Smith 4
My use case requires column level permissions(predicated on a value in the Entity's table).
How can I query like the following thru EFCore?
SELECT Id, First, IIF(LocationId in(2), Last, '') FROM Customer;
Whereby Last
is returned only when LocationId == 2
.
FromSql()
and QueryTypes
?Expression
type. This implies its possible however.Upvotes: 0
Views: 2712
Reputation: 1566
I believe you're looking to use the .Select() method and ternary operator. So something like this:
context.Customer.Select(c => new { c.Id, c.First, Last = c.LocationId == 2 ? c.Last : "" });
Upvotes: 1