Tag: linq to sql

多列不区分大小写的组

反正有没有做LINQ2SQL查询做类似的事情: var result = source.GroupBy(a => new { a.Column1, a.Column2 }); 要么 var result = from s in source group s by new { s.Column1, s.Column2 } into c select new { Column1 = c.Key.Column1, Column2 = c.Key.Column2 }; 但忽略了分组列内容的情况?

LINQ加入两个表

我有两个表说A和B.一个cols是GUID,someintVar,someMoreIntvar B col是GUID,someItemNO,SomeItemDesc 现在对于一个GUID,我在表A中只有一行。但是对于相同的GUID,我可以有多行。 现在我想基于GUID查询数据库并选择类中的值。 该类将具有一个列表,该列表将包含来自第二个表的不同行。 我该怎么做? 现在我根据该GUID的第二个表中有多少行在结果中获取了很多项。 var itemColl = from p in db.A join item in db.B on p.CardID equals item.CardID where p.CardID == “some GUID” select new { p.CardID, p.secondCol, p.ThirdCol, item.ItemNo // How to add them in a collection or list. };

DataContext.Refresh()的正确用法是什么?

我在内存中有一个LinqToSql对象,它在数据库的字段值应该在对象的生命周期内发生变化。 所以我需要定期检查一切是否仍然同步。 我原以为能够这样做: myDataContext.Refresh(RefreshMode.KeepCurrentValues, myObj); 但不幸的是,这似乎没有效果; 即使DB值已更改, myObj上的值也保持不变。 有关此方法的MSDN文档非常缺乏。 谁能告诉我这里缺少什么?

LINQ:获取表详细信息

我正在使用LINQPad,我想知道表的架构细节。 我知道我是用SQL做的: SELECT column_name,* FROM information_schema.columns WHERE table_name = ‘{table_name}’ ORDER BY ordinal_position 我怎么能用LINQ做到这一点?

linq-to-sql“无法删除尚未附加的实体”

我收到错误Cannot remove an entity that has not been attached. 当我尝试删除记录时。 我已经google了,虽然有很多地方可以找到解决这个问题的解决方案,但建议的修复程序并没有让我更进一步: using (MyDataContext TheDC = new MyDataContext()) { TheDC.MyTable.Attach(ARecord); //added this line but doesn’t fix it. TheDC.MyTable.DeleteOnSubmit(ARecord); TheDC.SubmitChanges(); 我的更大问题是:这个问题是否仅影响删除查询,还是影响其他类型的查询,我还没有碰到这个问题。 我写了一个更新查询,似乎没有遇到这个错误。 谢谢。

将linq中的字符串聚合或连接到SQL查询(SQL Server)

给出一个像这样的表 ID | Name | City 1 | X | Y 2 | Z | Y 3 | W | K 我想产生一个像这样的结果 ID | Description 1 | Y (X, Z) 3 | K (W) 我尝试过类似的东西 From C In Clients Group C By C.ID, C.City _ Into G = Group Select New With {.ID = ID, […]

为什么lambda中的这个短路不工作?

为什么linq试图检查第二个表达式呢? .Where(t => String.IsNullOrEmpty(someNullString) || t.SomeProperty >= Convert.ToDecimal(someNullstring)) 通常的解决方法是什么? 更新: 当然,它是关于LINQ to SQL的。 它无法转换为SQL。

为什么linq-2-sql会创建额外的不必要对象?

我在数据库中有一个简单的Parent Child表 CREATE TABLE [Parent]( [Id] [int] IDENTITY(1,1) NOT NULL, [Name] [nvarchar](256) NOT NULL) ALTER TABLE [Parent] ADD CONSTRAINT [PK_Parent_Id] PRIMARY KEY ([Id]) CREATE TABLE [Child]( [Id] [int] IDENTITY(1,1) NOT NULL, [ParentId] [int] NOT NULL, [Name] [nvarchar](256) NOT NULL) ALTER TABLE [Child] ADD CONSTRAINT [PK_Child_Id] PRIMARY KEY ([Id]) ALTER TABLE [Child] ADD CONSTRAINT [FK_Child_Parent_ID] FOREIGN […]

C#:是否可以在匿名方法中声明局部变量?

可以在匿名c#方法中使用局部变量,即在以下代码中我只想执行一次计数。 IQueryable linq = db.Enquiries; if(…) linq = linq.Where(…); if(…) linq = linq.Where(e => (x <= (from p in db.Orders where p.EnquiryId == e.Id select p).Count() && (from p in db.Orders where p.EnquiryId == e.Id select p).Count() <= y)); if(…) linq = linq.Where(…); var result = (from e in linq select e); 匿名函数是否有“让”? 更新:请注意,我在此语句后添加了几个Where子句,因此无法使用select关闭。 /尼尔斯

Linq-to-sql错误:’int ‘不包含’Contains’的定义

我有一个错误: 错误2’int []’不包含’Contains’的定义,并且最好的扩展方法重载’System.Linq.Enumerable.Contains(System.Collections.Generic.IEnumerable,TSource)’有一些无效的参数 这是我的代码: public partial class mymymy : System.Web.UI.Page { int[] validType = { 2, 3, 4, 5, 6, 8, 13, 14, 16, 22 }; protected void Page_Load(object sender, EventArgs e) { } protected void LinqDataSource_Selecting(object sender, LinqDataSourceSelectEventArgs e) { using (var dc = new soxMainDataContext()) { var qry = from item in dc.LeaveRequests […]