Tag: linq

entity framework的集合值参数?

在我的上一个项目中,我决定使用entity framework,直到我尝试使用“where in”获取数据时一切顺利,我收到了错误。 经过一番小小的搜索,我发现了这篇文章和post 。 这就是我想要做的 var all = fooelements .Where(l=>controlsToGet .Contains(l.Control.Name)); 是否有任何处理它与lambda表达式或linq与entity framework? 谢谢

LINQ Group具有多个级别的对象

我有一些类声明如下: public class UserSpend { public string UserName{ get; set; } public MonthSpend[] Spend { get; set; } } public class MonthSpend { public DateTime Month { get; set; } public SpendDetail[] Detail { get; set; } } public class SpendDetail { public string Description { get; set; } public decimal Amount { get; set; […]

对值类型和引用类型使用C#LINQ表达式

我正在使用MVC for REST,以便我可以利用Razor输出不同类型。 CSV是这些输出之一。 而不是为每种输入类型编写此模板: ID,Created,Content @foreach (var item in Model.TimeData) { @item.ID,@item.Created,”@Html.Raw(item.Content.Replace(“\””, “\”\””))” } 我想利用params和System.Linq.Expressions.Expression写下这样的东西: @{ Html.WriteCsv(Model.TimeData, p => p.ID, p => p.Created, p => p.Content); } 我开始编写一个通用的HtmlHelper并很快意识到我遇到了值类型的问题(memberExpression将为null)。 下面的代码试图写出CSV标题(ID,Created,Content),但它只输出“Content”(因为ID和Created是值类型( int和DateTime )。 public static void WriteCsv(this HtmlHelper htmlHelper, List list, params Expression<Func>[] expressions) { foreach (var expression in expressions) { MemberExpression memberExpression = expression.Body as […]

在EF查询中添加DateTime和TimeSpan的代码示例

我正在寻找这个问题的代码示例。 在LINQ中使用DateTime.Add(TimeSpan) 我需要将整个TimeSpan添加到DateTime。 我已经尝试过SqlFunctions.DateAdd(“ss”, SqlFunctions.DatePart(“s”, b.duration)但这看起来只是添加了TimeSpan的秒部分。 这是我到目前为止的代码 var queryClash = from b in db.calEvents where (newEvent.startTime = b.startTime) select b;

比较i4o与PLINQ的较大集合

对于有i4o或PLINQ经验的人,我有一个问题。 我有一个需要查询的大对象集合(大约400K)。 逻辑非常简单明了。 例如,有一个Person对象的集合,我需要找到匹配相同firstName,lastName,datebirth或FirstName / lastname的第一个首字母等的人。这只是一个使用LINQ to Object的耗时过程。 我想知道i4o (http://www.codeplex.com/i4o ) 或PLINQ可以帮助提高查询性能。 哪一个更好? 如果那里有任何方法。 谢谢!

在LINQ to SQL中查找或创建对象的通用方法?

在我的LINQ to SQL代码中,我经常需要“查找或创建”一个实体: var invoiceDb = ctx.Invoices.FirstOrDefault(a => a.InvoicerId == InvoicerId && a.Number == invoiceNumber); if (invoiceDb == null) { invoiceDb = new Invoice(); invoiceDb.Number = invoiceNumber; ctx.Invoices.InsertOnSubmit(invoiceDb); } 我想把它变成一个通用的方法……有什么好主意吗?

在entity framework6中调用标量值函数

如何在entity framework6中调用标量函数? 我试过以下代码 using (MhEntities DContext = new MhEntities()) { var Account_IdParameter = Account_Id.HasValue ? new ObjectParameter(“Account_Id”, Account_Id) : new ObjectParameter(“Account_Id”, typeof(long)); string res = ((IObjectContextAdapter)DContext).ObjectContext.CreateQuery(“MoneyforHealthEntities.Fn_LEVEL0_Acount_Id”, Account_IdParameter).FirstOrDefault(); return Convert.ToInt64(res); }

在可移植类库中包含XPathSelectElement

如何在可移植类库中使用XPathSelectElement ? 当我尝试在项目中包含System.Xml.XPath程序集时,我收到以下错误: “System.Xml.Linq.XElement”类型在未引用的程序集中定义。 您必须添加对程序集’System.Xml.Linq,Version = 2.0.5.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35’的引用。 我的可移植类库已经引用了System.Xml.Linq 。

将双for循环转换为linq查询

我有一个循环,一旦简化,看起来像这样: Dictionary<Tuple,Decimal> results = new Dictionary<Tuple,Decimal>(); foreach( A a in collectionA ) foreach( B b in collectionB ) results [Tuple.Create(a, (G)b.groupBy)] += (Decimal) Func(a, b); 有没有办法可以使用Linq查询复制此结果(例如,使用GroupBy , Sum和ToDictionary )? (正如在上一个问题的答案中所建议的那样: 对可能未初始化的Dictionary元素执行加上等于操作的简明方法 ) 结果 //Dictionary BcEventGroupLayerLosses 使用下面的Yuxiu Li的答案,我能够从链接的问题转换这4个class轮: BcEventGroupLayerLosses = new Dictionary(); foreach( UWBCEvent evt in this.BcEvents.IncludedEvents ) foreach( Layer lyr in this.ProgramLayers ) BcEventGroupLayerLosses.AddOrUpdate( new […]

Asp.Net 5缺少Linq到Sql类

如何使用Mvc 6在Microsoft Asp.Net 5中添加Linq to Sql文件。 请看下面的截图。 我无法找到这个Linq to Sql文件。 那边还没有C#标签? 当我使用Mvc 5在Asp.Net 4上打开项目时,有这个C#选项卡,以及Linq to sql文件。