是否有任何方法将以下代码简化为Linq表单?
foreach (var current in currentWhiteListApps)
{
var exists = false;
foreach (var whiteList in clientSideWhiteLists)
{
if (current.appID.Equals(whiteList.appID))
{
exists = true;
}
}
if (!exists)
{
deleteList.Add(
我在尝试执行linq查询时遇到以下错误:
LINQ to Entities无法识别方法“Boolean IsCharityMatching(System.String,System.String)”方法,并且此方法无法转换为存储表达式。
我以前读过很多问题,人们得到相同的错误,如果我理解正确的话,那是因为LINQ to Entities需要将整个linq查询表达式转换为服务器查询,因此您不能在其中调用外部方法。我还没能把我的场景转换成可以工作的东西,我的大脑开始融化,所以我希望有人能给我指引正确的方向。我们使用的是实体框架和规范模式(我对这两种模式都是新手)。
下面是使用该规范的代码:
I
Any似乎会生成case when (x) then 1 when (not x) then 0 end --为什么不直接使用else呢?这样,在Any应返回false的情况下,SQL server必须将同一查询执行两次。
context.Books.Any(b => b.Id == bookId);
declare @p__linq__0 Int = 1;
SELECT
CASE WHEN ( EXISTS (SELECT
1 AS [C1]
FROM [Books] AS [Extent1]
WHERE [Extent1].[ID] = @p__linq
大家好,大家好,有谁能帮我把这个sql转换成linq,我想我最大的问题来自于sql to linq中的not exists语句
select count(distinct(GroupID)) from ParticipantModulequestionnaire pmq
inner join ParticipantGroupMember pgm on pmq.participantid = pgm.ParticipantID
where pmq.moduleid = 46 and not exists
(select unf.participantid from ParticipantMo
以下语句的linq等价物是什么?
IF NOT EXISTS(SELECT UserName FROM Users WHERE UserName='michael')
BEGIN
INSERT INTO Users (UserName) values ('michael');
END
另外,你能推荐一些sql-to-linq转换器吗?我目前使用的是LINQPad,它在编写linq代码方面做得很好,你也可以看到生成的sql代码,但是当我单击小linq符号时,什么也没有显示。
我的代码:
public IQueryable<Foo> GetMajors()
{
var query = (from u in db.Specializares
select u.NumeSpec).Distinct();
return query;
}
错误:Cannot implicitly convert type 'System.Linq.IQueryable.string' to 'System.Linq.IQueryable.Project.Models.Foo.
是否可以在BlToolkit中通过linq编写这样的查询?
SELECT * FROM X pd
WHERE EXISTS (SELECT 1 FROM Y mm
WHERE VersionMaster > 0
)
我的意思是,是否有可能在linq中编写一个“存在”的构造,以便BlToolkit能够理解它?
谢谢
有没有办法强制实体框架发送date参数以匹配列数据类型?这会导致在我们的一些查询中进行非常昂贵的键查找。
我从SQL Server profiler中抓取的一个示例生成的查询在几分钟内运行:
exec sp_executesql N'SELECT
[GroupBy1].[A1] AS [C1]
FROM ( SELECT
COUNT(1) AS [A1]
FROM [table] AS [Extent1]
WHERE ( EXISTS (SELECT
1 AS [C1]
如何利用动态LINQ实现生存?
我正在尝试使用动态LINQ创建一个SQL子句。我研究了很多,但没有找到令人满意的答案。
我尝试按以下方式转换SQL查询:
SQL
select * from Documento where exists(
select 1 from Titulo
where Documento.codDocumento = Titulo.codDocumento
and Documento.codEmpresa = Titulo.codEmpresaDocumento
and Titulo.codFluxoConta = 'SomeVal
我想通过Linq中的记录获得一个组中存在的记录的结果。我在SQL中获得了查询,但在LINQ中很难获得它。
在SQL查询中的应用
select LEVEL, DESCR
from ACTIVITY_LKUP
WHERE LEVEL IN ( //Checking row exists
select TOP 2 b.LEVEL
from ACTIVITY_LKUP b
WHERE b.LEVEL > (
select max(b.LEVEL)
from ACTIVITY a, ACTIVITY_LKUP b
WHERE b.TY
.Net 3.5
我执行简单的LINQ操作:
using System.Linq;
...
/* extract product key. I.e. to get the "ACAD-7001:
* 409" from "SOFTWARE\Autodesk\AutoCAD\R17.2\ACAD-
* 7001:409". Ignore the last '\' char if it
* exists. */
string product_code = subkey_name.Split('\\').Where
(n
如果我非常想这样做,我是否可以向LINQ- to -SQL添加额外的LINQ构造(如果创建我自己的LINQ提供程序,我就可以做到)?例如,许多内置的LINQ运算符(XYZ.Any())被直接转换为SQL (例如IF EXISTS(XYZ))。
如果我需要一个专门的构造,我是否能够扩充这个集合,或者必须将其加入到实际的LINQ- to -SQL提供程序中?
我该如何添加一个新的运算符实现?C#扩展方法足够作为钩子来完成这项工作吗?
如果答案是肯定的,那么这种倾向的人能取代很多(全部)吗?通过LINQ-to-SQL生成的动态SQL来实现存储过程功能?
你知道怎么把它转换成linq吗?
SELECT DISTINCT PartNumber AS [PartNumber That Includes EVERY ItemNumber Listed in @RequiredItemsTable]
FROM Part.BillsOfMaterialsFlattened AS bom1
WHERE NOT EXISTS
(SELECT *
FROM @RequiredItemsTable w
WHERE NOT EXISTS
(SELECT *
我正在使用LINQ,我想知道创建XDocument的最好方法是什么,然后检查以确保XDocument确实存在,就像File.Exists一样?
String fileLoc = "path/to/file";
XDocument doc = new XDocument(fileLoc);
//Now I want to check to see if this file exists
有没有办法做到这一点?
谢谢!
我是Propel的新手,并且一直在阅读文档。但是,我还没有找到与SQL中的EXISTS和not EXISTS结构明显等效的结构。例如,.NET中的Linq有Any()。在“惯用的”Propel中有没有等同于下面的内容?
SELECT a.column1, a column2, a.etc
FROM TableA a
WHERE NOT EXISTS (SELECT 1
FROM TableB b
WHERE b.someIdColumn = a.someIdColumn
我正在使用名为Scans.dbml的Linq类。
在该类中,我将一个名为User (用户名、密码、角色)的表拖到图形区域,现在我可以通过UserRepository类访问User对象:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Scanner.Classes
{
public class UserRepository
{
private ScansDataContext db = new ScansDataCon
我打算将以下查询转换为linQ
SELECT TOP 100 S.TxID,
ToEmail,
[Subject],
ProcessedDate,
[Status] = (CASE WHEN EXISTS (SELECT TxID FROM TxBounceTracking
WHERE TxID = S.TxID)
THEN 'Bounced'
WHEN EXISTS (SELECT TxID FROM TxOpenTra
我使用的是MVC3,EF4.1,C#。
我有这个SQL代码,我想转换为LINQ,但我正在努力掌握正确的LINQ为它,所以我是联系您的专家LINQ专家请一些帮助。
从触发器中提取的Delete SQL是:
DELETE FROM Feature
WHERE NOT EXISTS
(
SELECT
LU1 AS LUID
FROM dbo.CLASS WHERE SectionId = Feature.SectionId AND LU1 = Feature.StdLibraryItemId
UNION
SELECT
LU2 AS LUID
FROM dbo.CLASS
因此,我试图从/在.xml文件中读写,并得到以下错误:
'System.Xml.Linq.XDocument' does not contain a definition for 'load' and no extension method 'load' accepting a first argument of type 'System.Xml.Linq.XDocument' could be found (are you missing a using directive or an assembly reference?)
在我的项目中,我使用实体框架4.4.0.0,我面临以下困境。我必须检查用户是否被激活。我的查询如下:
任何()
_context.Users.Any(u => u.Id == userId && u.IsActivated);
生成的sql是:
SELECT CASE
WHEN ( EXISTS (SELECT 1 AS [C1]
FROM [dbo].[Users] AS [Extent1]
WHERE ( [Extent1].[Id] = @p__l
这个程序没有像预期的那样工作,我不确定为什么。错误为CS0266 " Error CS0266 Cannot implicitly convert type 'System.Collections.Generic.IEnumerable<char>' to 'string'. An explicit conversion exists (are you missing a cast?)
但是,它应该可以在使用System.Linq的情况下正常工作;
using System;
using System.Linq;
namespace
可能重复:
我使用的是LINQ2SQL,我希望比较两个表,并选择一个表中缺少的所有行(基于一个列值)。
在标准SQL中,我将这样写成:
SELECT
FirstName,
LastName,
RefId,
Email
FROM
Users_ActiveDirectory AS ADU
WHERE
NOT EXISTS
(
SELECT
U.RefId
FROM
Users AS U
WHERE
U.RefID = ADU.RefId
)
但是,我不知道如何使用LINQ2SQL实现相同的结果?
在数据库中,我有一个过程,它返回带有单词的不同数值。
我在应用程序中对LINQ使用了这个过程,但它总是返回-1,而不是正确的数字。
示例T-SQL:
Create PROCEDURE EmailStatus
AS
BEGIN
IF NOT EXISTS (SELECT * FROM msdb.sys.service_queues WHERE name = N'ExternalMailQueue'
AND is_receive_enabled = 1)
return (100)
ELSE
RETURN
我有一个要求,用户将从UI中以字符串形式提供条件语句,我必须将其合并到我的LINQ to XML查询中。我引用此站点进行动态linq查询,但它只指定了LINQ to SQL,而不是我需要的LINQ to XML
我试着编辑这篇文章来满足我的需求,但它似乎不起作用。
string xml = @"
<Results>
<Result>
<Name>John</Name>
C#新手。我正在尝试浏览特定OU的AD。我得到以下错误。错误代码2147016646。我试着用更高的权限运行这个程序。帐户但是仍然会得到相同的错误。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.DirectoryServices;
using System.DirectoryServices.ActiveDirectory;
namespace ConsoleApplication1
{
class Program
{
Linq-to-SQL业务层调用SQL存储过程并获取:
Unable to cast object of type 'WhereSelectEnumerableIterator`2
[ERICustomersDataLayer.MergeCustomersResult,ERICustomersDataLayer.MergeCustomersResult]'
to type 'System.Collections.Generic.List`1[System.String]'.
存储过程:
ALTER PROCEDURE MergeCustomers @Curre