Tag: linq

使用entity framework进行unit testing

我想testing使用Entity Framework构build的实体。 我担心的是使用entity framework意味着直接使用数据源。 那么任何想法如何unit testing基于entity framework的组件?

如何使用LINQ将List <string>中的所有string转换为小写?

我昨天在StackOverflow的一个响应中看到了一个代码片断,这让我很感兴趣。 这是这样的: List<string> myList = new List<string> {"aBc", "HELLO", "GoodBye"}; myList.ForEach(d=>d.ToLower()); 我希望我可以用它来将myList中的所有项目转换为小写。 然而,这不会发生…运行后,myList中的套pipe是不变的。 所以我的问题是,是否有一种方法,使用LINQ和Lambdaexpression式轻松地遍历和修改列表的内容以类似于此的方式。 谢谢,马克斯

C#将Lambdaexpression式作为方法parameter passing

我有一个lambdaexpression式,我希望能够传递和重用。 代码如下: public List<IJob> getJobs(/* i want to pass the lambda expr in here */) { using (SqlConnection connection = new SqlConnection(getConnectionString())) { connection.Open(); return connection.Query<FullTimeJob, Student, FullTimeJob>(sql, (job, student) => { job.Student = student; job.StudentId = student.Id; return job; }, splitOn: "user_id", param: parameters).ToList<IJob>(); } 这里的关键是我想能够将我在这里使用的lambdaexpression式传递给调用此代码的方法,所以我可以重用它。 lambdaexpression式是我的.Query方法中的第二个参数。 我假设我想要使用一个操作或function,但我不太清楚这是什么语法或如何工作。 有人可以给我一个例子吗?

Linq-to-SQL ToDictionary()

如何正确地将SQL(2008)中的两列使用Linq转换为Dictionary(用于caching)? 我目前通过IQueryable b / c循环我不能让ToDictionary方法工作。 有任何想法吗? 这工作: var query = from p in db.Table select p; Dictionary<string, string> dic = new Dictionary<string, string>(); foreach (var p in query) { dic.Add(sub.Key, sub.Value); } 我真的很想做的是这样的,似乎没有工作: var dic = (from p in db.Table select new {p.Key, p.Value }) .ToDictionary<string, string>(p => p.Key); 但我得到这个错误:不能从'System.Linq.IQueryable'转换为'System.Collections.Generic.IEnumerable'

“LINQ to Entities”,“LINQ to SQL”和“LINQ to Dataset”有什么区别?

我已经在LINQ工作了一段时间了。 然而,在上面提到的LINQ之间,真正的区别还是有点神秘的。 成功的答案将包含他们之间的短暂区别。 每种风味的主要目标是什么,有什么好处,是否有性能影响… PS我知道这里有很多信息来源,但是我正在寻找一种“小抄”,指导新手去哪里寻找特定的目标。

如何使用linq中的2个字段orderby?

说我在数据库表中有这些值 id = 1 StartDate = 1/3/2010 EndDate = 1/3/2010 id = 2 StartDate = 1/3/2010 EndDate = 1/9/2010 现在我已经为我的linq订单了 var hold = MyList.OrderBy(x => x.StartDate).ToList(); 我想订购它,但也使用结束date。 像这样的顺序,我会想这样的 id 2 id 1 所以更大的endDates先走。 我不知道如果我需要改变这个使用一些比较function或东西。

根据linq的ID列表select多个logging

我有一个包含我的UserProfile表的Id的列表。 我如何可以select所有的用户UserProfiles基于我使用LINQ的var的列表? var idList = new int[1, 2, 3, 4, 5]; var userProfiles = _dataContext.UserProfile.Where(……); 我在这里卡住了 我可以使用for循环等,但我宁愿这样做与LINQ 。

在Linq中,仅基于表的一个字段

我正在尝试在Linq中使用.distinct来获得基于表的一个字段的结果(所以不需要从表中整个重复的logging)。 我知道使用不同的基本查询,如下所示: var query = (from r in table1 orderby r.Text select r).distinct(); 但是我需要r.text不重复的结果。

你最喜欢的LINQ to Objects运算符是不是内置的?

使用扩展方法,我们可以编写方便的LINQ操作符来解决一般问题。 我想知道在System.Linq命名空间中缺less哪些方法或重载以及如何实现它们。 清洁和优雅的实现,可能使用现有的方法,是首选。

什么是SQL Server Profiler中的“审计注销”?

我正在运行数据导入(使用C#/ Linq),自然我试图尽可能优化我的查询。 为此,我使用SQL Server Profiler在数据库上运行跟踪,跟踪由我的SQLlogin名(这是一个可以唯一归因于我的数据导入过程的名称)过滤。 奇怪的是,我的大部分SQL语句真的很快:) – 很less有查询甚至打破了1毫秒的标记。 但是,在所有查询之间的间隔是EventClass为“审计login”或“审计注销”的几行,而“审计注销”的持续时间可以达到一分钟! 这是否与我在我的导入中使用事务的事实有关? 如果是这样,是否有任何方法可以find哪些是最大的查询,所以我可以清理这些?