کوئری نویسی در EF Core - قسمت دوم - کوئریهای ساده
نویسنده: وحید نصیری
تاریخ: ۱۳۹۹/۰۵/۰۶ ۱۱:۴۰
آدرس: www.dntips.ir
| مطالب | ۳۶۹۴ |
| نویسندگان | ۲۷۶ |
| گروههای مطالب | ۱۰۲۴ |
| نقشههای راه | ۱۱۹ |
| دورهها | ۱۴ |
| اشتراکها | ۱۷۹۱۴ |
var facilities = context.Facilities.ToList();
var facilities = context.Facilities.Select(x =>
new
{
x.Name,
x.MemberCost
}).ToList();
var facilities = context.Facilities.Where(x => x.MemberCost > 0).ToList();
var facilities = context.Facilities.Where(x => x.MemberCost > 0
&& x.MemberCost < (x.MonthlyMaintenance / 50))
.Select(x =>
new
{
x.FacId,
x.Name,
x.MemberCost,
x.MonthlyMaintenance
}).ToList();
var facilities = context.Facilities.Where(x => x.Name.Contains("Tennis")).ToList();
int[] ids = { 1, 5 };
var facilities = context.Facilities.Where(x => ids.Contains(x.FacId)).ToList();
var facilities = context.Facilities
.Select(x =>
new
{
x.Name,
Cost = x.MonthlyMaintenance > 100 ? "expensive" : "cheap"
}).ToList();
var date = new DateTime(2012, 09, 01);
var members = context.Members.Where(x => x.JoinDate >= date)
.Select(x =>
new
{
x.MemId,
x.Surname,
x.FirstName,
x.JoinDate
}).ToList();
var members = context.Members.OrderBy(x => x.Surname)
.Select(x =>
new
{
x.Surname
})
.Distinct()
.Take(10)
.ToList();
var names = context.Members.Select(m => m.Surname).ToList()
.Union(context.Facilities.Select(f => f.Name).ToList()) // For now we have to use `.ToList()` here
.ToList(); SELECT surname FROM members UNION SELECT name FROM facilities;
var latest = context.Members.Max(x => x.JoinDate);
var latest2 = context.Members.Select(m => m.JoinDate).DefaultIfEmpty().Max();
SELECT MAX([m].[JoinDate]) FROM (SELECT NULL AS [empty]) AS [empty] LEFT OUTER JOIN [Members] AS [m] ON 1 = 1;
var latest3 = context.Members.Max(m => (DateTime?)m.JoinDate) ?? DateTime.Now;
var latest4 = context.Members.OrderByDescending(m => m.JoinDate).Select(m => m.JoinDate).FirstOrDefault();
var lastMember = context.Members.OrderByDescending(m => m.JoinDate)
.Select(x => new { x.FirstName, x.Surname, x.JoinDate })
.FirstOrDefault();
var members = context.Members.Select(x => new { x.FirstName, x.Surname, x.JoinDate })
.Where(x => x.JoinDate == context.Members.Max(x => x.JoinDate))
.ToList();
facilities.Should().BeEquivalentTo(expectedResult);
CollectionAssert.AreEqual(list1, resultList, new CustomComparer())
int[] scores;
scores = new[] {1, 2, 3, 4};
scores.All(x=> x > 0); //true
scores = new[] {-1, -2, 3, 4};
scores.All(x => x > 0);//false