我使用LINQ查询我的POCO对象已经有一段时间了,但我还没有尝试过LINQ to SQL。我假设LINQ to SQL查询以某种方式转换为等价的SQL查询,鉴于此,我想知道这是否会影响LINQ to SQL查询的编写方式。
LINQ to Objects和LINQ to SQL之间有什么显著的区别吗?这会影响我应该如何为它们编写查询?
我正在尝试将一些SQL查询转换为Linq,以避免多次访问数据库。
我正在尝试转换的旧SQL会:
SELECT
AVG(CAST(DATEDIFF(ms, A.CreatedDate, B.CompletedDate) AS decimal(15,4))),
AVG(CAST(DATEDIFF(ms, B.CreatedDate, B.CompletedDate) AS decimal(15,4)))
FROM
dbo.A
INNER JOIN
dbo.B ON B.ParentId = A.Id
所以我创建了两个C#类:
class B
{
public
我有以下(不正确的) LINQ函数(更新):
public IQueryable<ClassUsageReport> GetClassUsage()
{
//Class Code, Title, Usage, FiscalYear
var queryable = (from agencyplan in _agencyPlansList
join classSchedule2012 in _classSchedule2012List
on
我的表类似于命名为'score': ? 我想查询所有cno及其对应的平均学位,该学位至少有5名学生(sno表示学生数量),从3开始。 我尝试了以下查询语句: select cno,avg(degree) from score where cno in (select cno from score group by cno HAVING count(1) > 5 ) and cno like '3%'; 但是,它抛出了一个错误。 我的MySql版本是8.0.18 Expression #1 of SELECT list is not in GRO
我的Server查询(如下所示)非常好,我正在尝试将其转换为LinQ中的C#。
SQL查询:
SELECT addressline3, city, COUNT(*) as 'InstitutionNumber'
FROM institutionenquiries
WHERE CITY = 'AHMEDABAD'
GROUP BY addressline3, city
ORDER BY city;
期望的产出是:
我能够以下面的格式绘制LinQ查询,这给了我正确的输出
(COUNT(*) as 'InstitutionNumber'除外)
我可以在2个查询中得到最小和最大值,但是用C#可以在1个查询中得到吗? var max = (await collection.Sort(descendingDateTime).Limit(1).FirstOrDefaultAsync())
.GetValue(timeField).ToUniversalTime();
var min = (await collection.Sort(ascendingDateTime).Limit(1).FirstOrDefaultAsync())
.GetV
我在SQL中有一个简单的查询:
SELECT
l.State,
AVG(ls.Amount) As StateAvg
FROM
LeadSales ls
JOIN LEADS l on ls.LeadID = l.LeadID
GROUP BY
l.State
这样做是可行的:
将其转换为LINQ (其中query是LeadSales表的IQueryable )有一点小问题.
var StateList = from q in query
group q by new
我需要将以下sql查询转换为C# linq with entity框架:
SELECT AccNo, SUM(Debit) - SUM(Credit) AS Balance FROM TrxAffair
WHERE (TrxDate > '2021-01-01') GROUP BY AccNo
我尝试了以下方法,但得到::‘转换为值类型'System.Decimal’失败,因为物化的值为null。结果类型的泛型参数或查询必须使用可以为must的类型。
partial void OnGetPreviousBalance(小数项);
pu
以下代码在NHibernate中使用LINQ返回与内存LINQ和EF LINQ不同的结果。在NHibernate中,正确的方法是什么?如果LINQ版本确实坏了,可以使用QueryOver。
using (var session = factory.OpenSession())
using (var transaction = session.BeginTransaction())
{
for (int i = 0; i < 10; ++i)
{
session.Save(new A()
{
X = i % 2,
我有一个嵌套的数据模型,我希望从它获得按顶级属性分组的聚合数据。例如,我的模型:
public class Scan {
public long Id {get; set;}
public int ProjectId { get; set; }
public int ScanUserId { get; set; }
public ICollection<ScanItem>? Items { get; set; }
}
public class ScanItem
{
public long Id { get; set; }
publi
我试图在linq中做一个groupby,基本上我有一个列表(沿着列表-大约1000个条目),我希望通过描述群。
参赛作品是车辆,因此大约有50辆福特蒙迪奥斯。
我的查询非常简单,没有联接(尚未:-),但它带回了一个列表,其中包括50个Ford,我希望它对它们进行分组,以便只有一个条目。
我只选择描述,我没有选择不同的in,但在LinqPad中它返回desc,我可以看到50个福特蒙迪欧在描述字母上都是一样的。
我做错什么了?
from v in dc.Vehicles
group v by v.Description into g1
from y in g1
orderby y.De
有没有一种方法可以简单地做一个连接,而不是编写一个linq查询:
using (var db = new MatchGamingEntities())
{
db.Accounts.Join() //I am unsure of the syntax
db.Accounts.Include...
...
return View(Account.SingleOrDefault());
}
我想使用这些预定义的实体函数而不是编写linq,这实用吗?另外,如何使用这些预定义的函数?我有一个名为"Accounts“和"BankTransactions”的
我正在使用CRM 2011 SDK来使用远程CRM 2011服务。我需要检索联系人的总数,超过20000人。
我尝试过一个简单的LINQ查询,例如。Aggregate c In service.ContactSet Into Count() (来自,也来自和)但是每一个都花了很长时间,因为下载的XML是一个完整的数据记录集(即使它只是GUID,它仍然是20000 GUID及其所有XML )。
我似乎找不出如何简单地查询CRM 2011,因为它只返回一个数字--实体中记录的总数。可以说是一个“标量查询”。这是怎么做的?
日安。我在postgres中玩READ COMMITTED隔离级别,发现一些奇怪的行为,没有遵循官方文档。假设我有一个表account(id int,name text,amount int)和两行。
test> select * from account;
-[ RECORD 1 ]-------------------------
id | 1
name | Bob
amount | 800
-[ RECORD 2 ]-------------------------
id | 2
name | Bob
amoun
我有一个XML文件,其结构如下:
A1一些日期..。
可以有多个ID相同的请求,但在这种情况下,每个请求都需要不同的StartDate。
我要把每一个身份证上的最近两个日期都取出来。
如果这是一个具有ID和StartDate列的SQL表,我将使用以下查询,该查询运行良好:
SELECT ID, StartDate
FROM ( SELECT ID, StartDate, RANK()
OVER (PARTITION BY ID ORDER BY StartDate DESC) rank
FROM Request )
WHERE rank IN (
我在C#应用程序中使用LINQ查询。
我的SQL查询如下所示:
select cast(DATEADD(hh, -4, [firstdate]) as DATE) as [Date], COUNT(Name) as 'Total Name',
from Database.dbo.DatabaseName with (nolock)
where DATEDIFF(dd, DATEADD(hh, -4, [firstdate]), getdate()) between 1 and 7
group by cast(DATEADD(hh, -4, [firstdate]) as DAT
我创建了一个LINQ查询,该查询创建一个主组,然后创建两个嵌套组。在最后一个嵌套中,还有一个简单的OrderBy。我遇到的问题是,在编写查询或试图编辑查询时,visual studio内存消耗猛增到~500MB,占用了我CPU的50%,这使得visual studio有几分钟没有响应。如果我注释掉这个查询,那么visual studio就能正常工作。所以我的问题是,假设linq查询有点复杂,为什么visual studio在设计时要消耗这么多内存呢?
我使用的数据表有10732行长,21列宽
var results = from p in m_Scores.AsEnumerable()
我有下面的the代码,在这些代码中,我试图对四列进行行分组,即产品、ItemClassification、名称和编号。
;WITH CTE_FieldData
AS (
SELECT
CASE(GROUPING(M.CodeName))
WHEN 0 THEN M.CodeName
WHEN 1 THEN 'Total'
END AS Product,
CASE(GROUPING(KK.ItemClassification))
WHEN 0 T
我有一个关于LINQ to SQL的问题。我想用LINQ编写以下查询:
SELECT DISTINCT([Column]),
COUNT([Column]) as [Count]
FROM [Table]
我可以在1个查询中完成吗?或者,我必须首先选择我的不同列,然后为每个列选择计数?这看起来非常笨拙和笨重(n平方)。
在尝试将MySQL查询转换为MsSql查询时,会遇到麻烦。
错误声明:
列'books.id‘在select列表中无效,因为它既不包含在聚合函数中,也不包含在GROUP BY子句中。
这个密码糟透了。
SELECT * FROM books group by books.category_id
供参考
提前谢谢!!
我正在做这项工作,我需要计算每个学生的CGPA,以及分数*学分/总学分的公式。
select
round(sum((grade.grade*course.credits)/count(course.courseno)),1),
student.studentNo
from
course, grade, student, offering
where
student.studentno = grade.studentno
and course.courseno = offering.courseno
and offering.offerno
我希望在C#中构建一些数据聚合的东西,我想要一些类似于实时数据透视表的东西,或者某种连续更新的SQL查询,支持select,sum,average,first,where和group-by (其中first在LINQ的意义上是“给我第一个值”)。
例如,我可能有一个名为Trans的表对象,其中包含列Name、Date和Total,而另一个名为Price的表中包含列Name和Price。我想创建某种类型的Query实例,它(在伪SQL中)
select Name, sum(Total), first(Price) from Trans, Price join on Name group by N
在C#中是这样的:
table
.GroupBy(row => row.SomeColumn)
.Select(group => group
.OrderBy(row => row.AnotherColumn)
.First()
)
Linq- to -Sql将其转换为以下T-SQL代码:
SELECT [t3].[AnotherColumn], [t3].[SomeColumn]
FROM (
SELECT [t0].[SomeColumn]
FROM [Table] AS [t0]
GROUP BY [
我需要在LINQ子句中使用C#列表。我可以在where子句中使用一个值进行查询,请指导如何在LINQ中使用C#列表。
下面是我的代码:
var usersList= new List<string>();
usersList.Add("User1");
usersList.Add("User2");
(from u in UserSet
where u.FullName.Equals("any user from usersList")
select u.FullName).Take(3).Dump();
如何让LINQ检查use
如何在C#,.NET 3.5代码中将以下SQL查询转换为LINQ查询形式: 1)
select COUNT(distinct Skill_Name)
from Table1
where Department = 'ABC' and Skill_Name is not null
2)
select distinct location, country from Customer where Customer_Code ='1001';
我正在尝试使用单个集合来子查询数据。 等价的SQL查询: Select * from customer where custid = (select custid from customer where device ID = 123 and date <= currentdate fetch first row only) where date<= current date