13
投票
6答案
6351 次观看

NHibernate或LINQ to SQL

如果开始一个新项目,您将为ORM NHibernate或LINQ使用什么以及为什么使用它。每种都有什么优缺点。 编辑:LINQ to SQL不仅限于LINQ(感谢@Jon Limjap)

56
投票
7答案
14242 次观看

人们如何使用Linq to SQL进行单元测试代码

使用Linq到SQL的人员单元测试代码如何?

53
投票
9答案
73572 次观看

如何使用LINQ to SQL处理IN子查询?

我对此有些困惑。基本上,我想在LINQ to SQL中执行以下SQL查询: SELECT f.* FROM Foo f WHERE f.FooId IN ( SELECT fb.FooId FROM FooBar fb WHERE fb.BarId = 1000 ) 任何帮助都会感激不尽。 谢谢。

11
投票
2答案
2868 次观看

与Linq To SQL和DTO分开关注

我最近开始了一个新的Webforms项目,并决定将业务类与任何DBML引用分开。我的业务层类将访问离散的数据层方法,并返回DTO的集合。因此,数据层可能会像下面这样投影DTO: (from c in dataContext.Customers where c.Active == true select new DTO.Customer { CustomerID = c.CustomerID, Name = c.CustomerName, ... }).ToList() 尽管构建DTO对象会增加工作量,但这似乎是一种更好的方法来紧密绑定业务与数据层,这意味着我...

4
投票
5答案
1251 次观看

linq-如何在一个查询源中查询不在另一个查询源中的项目?

如果我有2个查询源,如何找到一个不在另一个中的查询源? 在两个项目中查找项目的联接示例: var results = from item1 in qs1.Items join item2 in qs2 on item1.field1 equals item2.field2 select item1; 那么返回qs1中不在qs2中的项目的linq代码是什么?

3
投票
3答案
1921 次观看

动态linq:创建一个生成JSON结果的扩展方法

我一直在尝试创建动态linq扩展方法以返回JSON格式的字符串-我正在使用System.Linq.Dynamic和Newtonsoft.Json,但我无法让Linq.Dynamic来解析“ cell = new object []“部分。也许太复杂了?有任何想法吗? : 我的主要方法: static void Main(string[] args) { NorthwindDataContext db = new NorthwindDataContext(); var query = db.Customers; string json = JSonify&...

7
投票
3答案
1925 次观看

优化LINQ to SQL查询

我有一个如下查询: public IList<Post> FetchLatestOrders(int pageIndex, int recordCount) { DatabaseDataContext db = new DatabaseDataContext(); return (from o in db.Orders orderby o.CreatedDate descending select o) .Skip(pageIndex * recordCount) ...

4
投票
4答案
1668 次观看

LINQ与基于传统集合的方法之间的优缺点

我想知道,相对于.net游戏而言,这是一个相对较新的东西,是否有人在使用LINQ与可以使用哪种更传统的方法处理列表/集合之间有什么优缺点? 对于我正在处理的项目的特定示例:正在从远程Web服务检索唯一ID /名称对的列表。 此列表很少更改(每天一次), 从应用程序的使用角度来看,将是只读的 将在应用程序级别存储所有访问请求 鉴于上述几点,我计划将返回值存储在应用程序级别的单例类中。 我最初的方法是遍历从远程服务返回的列表,并将其存储在singleton类的NameValueCollection中,并使用基于id从集合中检索的方法: sugarsoap soapServi...

6
投票
2答案
1701 次观看

最佳实践重新:LINQ To SQL进行数据访问

我正在处理的Web应用程序的一部分是显示从管理到1 ... n个用户的消息的区域。我有一个DataAccess项目,其中包含LINQ to SQL类,还有一个网站项目,即UI。我的数据库如下: 用户->消息详细信息 MessageDetail是一个联接表,还包含一个IsRead标志。 消息列表按类别分组。我在页面上有两个嵌套的ListView控件-一个控件输出组名,而另一个控件嵌套在内部,该控件绑定到MessageDetails并输出消息本身。在列出消息的页面的代码后面,我有以下代码: protected void MessageListDataSource_Selec...

4
投票
3答案
184 次观看

使用LINQ映射集合

我有一个对象集合,我想向其添加一个新属性。我该如何使用LINQ?

5
投票
2答案
319 次观看

如何分组存储列表?

我有一个Foo的列表。Foo具有Bar和Lum的属性。某些Foo具有Bar的相同值。如何使用lambda / linq将我的Foo按Bar分组,以便可以遍历每个分组的Lum?>

0
投票
3答案
114 次观看

这2个LINQ表达式的名称是什么

我正在尝试为LINQ中的这2种“类型”编码表达式找到正确的名称,以便我可以正确地引用它们。我想说第一个叫做“流利风格”? var selectVar = arrayVar.Select( (a,i) => new { Line = a }); var selectVar = from s in arrayVar select new { Line = s };

0
投票
2答案
333 次观看

如何通过linq到xml提取xaml对象图的一部分?

我有一个序列化为xaml的对象图。大概是这样的: <MyObject xmlns.... > <MyObject.TheCollection> <PolymorphicObjectOne .../> <HiImPolymorphic ... /> </MyObject.TheCollection> </MyObject> 我想使用Linq到XML,以提取TheCollection中的序列化对象。 注意:在运行时MyObject的名称可能有所不同;我对实现相...

8
投票
3答案
10316 次观看

如何在Linq中的myTable WHERE id IN(SELECT ...)中写入SELECT?

您如何在Linq中重写它? SELECT Id, Name FROM TableA WHERE TableA.Id IN (SELECT xx from TableB INNER JOIN Table C....) 因此,以通俗的英语来说,我想从TableA中选择ID和名称,其中TableA的ID在第二个查询的结果集中。

96
投票
15答案
64259 次观看

在SQL Server Compact Edition数据库上,如何解决LINQ to SQL中的“找不到或更改行”异常?

在使用LINQ到SQL连接(针对SQL Server Compact Edition)更新了几个属性后,对DataContext执行SubmitChanges时,出现“未找到或更改行”。 ChangeConflictException。 var ctx = new Data.MobileServerDataDataContext(Common.DatabasePath); var deviceSessionRecord = ctx.Sessions.First(sess => sess.SessionRecId == args.DeviceSessionId); device...

10
投票
2答案
5416 次观看

您如何在LINQ中索引到变量?

我正在尝试使以下代码在LINQPad中工作,但无法索引到变量中。有人知道如何在LINQ中索引到var吗? string[] sa = {"one", "two", "three"}; sa[1].Dump(); var va = sa.Select( (a,i) => new {Line = a, Index = i}); va[1].Dump(); // Cannot apply indexing with [] to an expression of type 'System.Collections.Generic.IEnumerable<AnonymousType...

3
投票
1答案
1834 次观看

C#.Net 3.5代码以使用LINQ替换文件扩展名

我已经编写了这个非常简单的函数来替换C#.NET 3.5中使用LINQ的文件扩展名,但是我感觉有一种更优雅的方法可以执行此操作。 (我不打算在这里使用LINQ,只是在寻找一种更优雅的方法。)有想法吗? private string ReplaceFileExtension(string fileName, string newExtension) { string[] dotSplit = fileName.Split('.'); return String.Join(".", dotSplit.Take(dotSplit.Length...

10
投票
6答案
11319 次观看

如何在Mono上的MySql数据库中使用Linq?

有许多库提供Linq功能,以使C#代码与MySql数据库进行交互。其中哪一个是Mono上最稳定和可用的? 背景(大多无关紧要):我有一个简单的C#(.Net 2.0)程序,用于更新MySql数据库中的值。它通过cron作业每晚执行一次,并在奔腾3 450Mhz,Linux + Mono上运行。我想主要使用Linq(.Net 3.5)重写它(我尚未使用过Linq)。

7
投票
5答案
2550 次观看

管理LINQ to SQL .dbml模型的复杂性

此问题在上得到了一定程度的解决。 LINQ to SQL .dbml最佳做法,但是我不确定如何添加到问题中。 我们的一个应用程序使用LINQ to SQL,并且对于整个数据库,我们目前只有一个.dbml文件,这变得越来越难以管理。我们正在考虑将其重构为更多的模块/功能特定的单独文件,但是一个问题是许多高级类将不得不在多个.dbml文件中重复,因为无法跨多个使用。 dbml文件(据我所知),以及其他部分类代码。 有人解决过这个问题吗?您会提出什么建议?

122
投票
16答案
138538 次观看

使用LINQ检查列表是否为空

确定列表是否为空的“最佳”方法(兼顾速度和可读性)是什么?即使该列表的类型为IEnumerable<T>并且没有Count属性。 现在我要在这之间扔一个 if (myList.Count() == 0) { ... } 这: if (!myList.Any()) { ... } 我的猜测是第二个选项更快,因为它会在看到第一个项目后立即返回结果,而第二个选项(对于IEnumerable)将需要访问每个项目以返回计数 话虽这么说,第二个选项对您来说可读吗?你更喜欢哪个?还是您可以想到一种测试空列表的更好方法? 编辑 @lassevk的响应似乎是最合乎逻...

676
投票
20答案
272776 次观看

IEnumerable <t> / IQueryable <t>上的动态LINQ OrderBy</t></t>

我在 VS2008示例中找到了有关动态LINQ的示例,该示例使您可以使用类似sql的字符串(例如OrderBy("Name, Age DESC"))进行订购。不幸的是,所包含的方法仅适用于IQueryable&lt;T&gt;。是否有任何方法可以在IEnumerable&lt;T&gt;上获得此功能?

4
投票
4答案
5121 次观看

如何从内存列表中获取不同属性值的数组?

我有一个Foo列表。 Foo有一个名为Bar的字符串属性。 我想使用 LINQ 来获取Foo.Bar在Foo列表中的不同值的字符串[]。 我该怎么做?

6
投票
4答案
1284 次观看

如何在Linq中更新与数据库断开连接的实体?

下面的代码无法正确运行,并引发InvalidOperationExcepiton。 public void Foo() { DataContext context = new DataContext(); LinqEntity item = new LinqEntity(){ Id = 1, Name = "John", Surname = "Doe"} ; context.LinqEntities.Attach(item, true); }

0
投票
3答案
1396 次观看

您如何轻松地对LINQ to SQL Designer中的列进行重新排序?

当使用LINQ to SQL设计器设计LINQ类时,有时为了使DataGridView中的结果列以不同的顺序出现,我需要重新排序这些类。不幸的是,这似乎非常困难。您需要剪切或粘贴属性,或者删除它们并手动重新插入。 我知道,您可以相当轻松地在DataGridView中对列进行重新排序,但是这将导致大量的硬编码,我希望设计人员与网格匹配。 有人知道实现这一目标的任何简便方法吗?还是切割/粘贴唯一可用的方法? 我尝试手动编辑.designer.cs文件,但是重新排序属性似乎没有任何作用! 编辑:为了清楚起见,我想重新排序LINQ to SQL设计器中的内容,而不是表中的内容。在要求还...

19
投票
6答案
37807 次观看

根据属性值过滤linq列表

我有一个List&lt;int&gt;和List&lt;customObject&gt;。customObject类具有ID属性。如何使用LINQ获得仅包含ID属性在List&lt;customObject&gt;中的对象的List&lt;int&gt;? 编辑:我接受了Konrads的回答,因为它更易于阅读/更直观。

8
投票
2答案
1168 次观看

将XML注释添加到LINQ to SQL设计器生成的类属性中

我在Visual Studio中使用LINQ to SQL设计器来创建数据库的对象模型。现在,我想向每个生成的属性添加XML注释,但是我想不出如何在下次刷新dbml文件时不删除属性的情况下完成此操作。 这怎么办?

9
投票
4答案
3065 次观看

通过Linq表达式树识别事件

当事件没有出现在+=或-=旁边时,编译器通常会阻塞,因此我不确定是否可能。 我希望能够通过使用表达式树来识别事件,因此我可以为测试创建事件观察器。语法如下所示: using(var foo = new EventWatcher(target, x =&gt; x.MyEventToWatch) { // act here } // throws on Dispose() if MyEventToWatch hasn't fired 我的问题有两个: 编译器会阻塞吗?如果是这样,关于如何防止这种情况的任何建议? 我如何从构造函数中解析Expression对象以附...

18
投票
2答案
18536 次观看

C#Linq分组

我正在对Linq进行试验,在确定分组方面遇到困难。我已经看过一些教程,但是由于某些原因无法弄清楚。 例如,假设我有一个具有多个网站ID的表(SiteStats),该表存储过去30天按类型访问了每个网站的访客总数。 ╔════════╦═════════════╦════════╦══════╗ ║ SiteId ║ VisitorType ║ Last30 ║ Total║ ╠════════╬═════════════╬════════╬══════╣ ║ 1 ║ 1 ║ 10 ║ 100 ║ ║ 1 ║ 2 ...

19
投票
7答案
9678 次观看

LINQ中的数据冲突

当使用SubmitChanges()进行更改时,LINQ有时会死于ChangeConflictException异常,并显示错误消息Row not found or changed,而当其他用户更改了某些数据时,没有任何迹象表明具有冲突的行或具有冲突的更改的字段在那一行。 是否有任何方法可以确定哪一行发生冲突以及它们出现在哪些字段中,还有没有办法使LINQ忽略该问题并简单地提交数据呢? 此外,有人知道行中的任何数据已更改时,还是仅当LINQ试图更改的字段中的数据已更改时,才会发生此异常吗?

52
投票
5答案
183822 次观看

从多个表创建LINQ选择

此查询效果很好: var pageObject = (from op in db.ObjectPermissions join pg in db.Pages on op.ObjectPermissionName equals page.PageName where pg.PageID == page.PageID select op) .SingleOrDefault(); 我在“ op”字段中输入了一种新类型。现在,我也想检索我的“ p...