相关疑难解决方法(0)

条件Linq查询

我们正在研究日志查看器.该用户可以选择按用户,严重程度等进行过滤.在Sql中我会添加到查询字符串,但我想用Linq来做.我怎样才能有条件地添加where-clause?

c# linq .net-3.5 linq-to-sql

87
推荐指数
6
解决办法
8万
查看次数

29
推荐指数
3
解决办法
8万
查看次数

实体框架 - 以编程方式将包含添加到ObjectQuery

我有一个实体框架模型,我有一个用户具有以下关系:

User 1-* Test
Run Code Online (Sandbox Code Playgroud)

每个测试都有以下关系:

Test 1-1 Course
Test 1-* TestEvent
Run Code Online (Sandbox Code Playgroud)

我有一个返回用户的服务,在我的应用程序的不同点,我想急切地获取各种关系.我正在抓住目前所有的关系:

var result = (from appUser in context.AppUsers.Include("Tests.Course")
    .Include("Tests.TestEvents")
    where appUser.Login.ToLower() == loginName.ToLower() &&
    appUser.IsDeleted == false
    select appUser).FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)

我不想总是返回链接到Test或TestEvents的Course.如何构建ObjectQuery并根据需要动态添加Include语句,而不是使用一系列if else语句.

entity-framework-4

2
推荐指数
1
解决办法
2683
查看次数

C#LINQ相当于一个有点复杂的SQL查询

所以我有一个SQL查询跟随

SELECT P.Date, P.CategoryName, P.ProductName, SUM(Quantity) Quantity, SUM(Sales) TotalSales, IsLevelThree
FROM Products P LEFT JOIN LevelThreeTracking LTT
    ON P.Date = LTT.Date AND P.CategoryName = P.CategoryName AND P.SecurityID = LTT.SecurityID
WHERE P.Date = '12-31-2007' AND P.CategoryName= 'CategoryName'
GROUP BY P.Date, P.CategoryName, P.ProductName, LTT.IsLevelThree
HAVING SUM(Quantity) <> 0
ORDER BY P.ProductName
Run Code Online (Sandbox Code Playgroud)

我正在尝试将其转换为C#LINQ语法,并使用2个表进行DataContext设置.我已经尝试了几次(下面的最新版本)但是生成的sql看起来非常复杂并且超时.dtpBeginning是一个DateTimePicker.

var results = from p in dbFAS.Products
group p by new {p.Date, p.CategoryName, p.ProductName}
into gp
join ltt in dbFAS.LevelThreeTracking on
new {gp.Key.Date, gp.Key.CategoryName, gp.Key.ProductName} equals
new {ltt.Date, ltt.CategoryName, ltt.ProductName} …
Run Code Online (Sandbox Code Playgroud)

linq-to-sql

1
推荐指数
2
解决办法
9142
查看次数

标签 统计

linq ×2

linq-to-sql ×2

.net-3.5 ×1

c# ×1

entity-framework-4 ×1

where ×1