首先使用EF 6代码。我有一个实体类和一个名称类,并且希望查询所有实体对象的列表以及它们各自的名称,以便我可以在Gridview控件上显示。
以下是我的类定义:
public class Entity
{
[Key]
public int EntityKey { get; set; }
public virtual ICollection<Name> Names { get; set; }
}
public class Name
{
[Key]
public int NameKey { get; set; }
publ
我有这样的结构:
struct Test
{
string name;
string family;
public Test...
}
在我的代码中,我有一个这个结构的列表:
List<Test> testList=new List<Test>();
我有这样一个linq表达式:
var list =testList.Select(n=>n.Name);
但是我如何通过testList家族过滤这个选择呢?就像这样:
var list=testList.Select(n=>n.Name).Where(f=>f.Family=="
如何将实体属性作为LINQ表达式的参数传递?
public DropdownFilter(WhatTypeHere? ABC)
{
// I want to store a selected property here
// ABC must be a property of TEntity
this.ABC = ABC;
}
// I want the class to encapsulate a LINQ query and just parametrize it with a property
public override IQueryable<TEnt
这个查询有什么问题:
var user = context.Users.Single(u => u.UserPrincipalName == "test@company.l");
我为什么要得到这个例外?
UserPrincipleName是一个用户属性..。
System.NotSupportedException: The specified type member 'UserPrincipalName' is not supported in LINQ to Entities. Only initializers, entity members, a
以前,回到EF Frameowrk时代,当需要与实体相关的实体时,以下方法就足够了。
private IQueryable<T> EntitySet(params Expression<Func<T, object>>[] includes)
{
var set = Context.Set<T>().Where(x => !x.IsDeleted);
if (includes != null)
{
foreach (var include in includes
是否可以使用EF获得pk列的最大值?我的意思是类似于find方法,它基于pk值获取一个实体,我们已经有了以下内容:
public TEntity Find(params object[] keyValues);
我在找这样的东西:
public object PkMax<TEntity>();//which returns max of pk column
更新:
我正在寻找基于实体的pk的动态linq查询,现在我知道如何获得pk,谢谢这个答案:
我在和动态的LINQ做斗争。给定一个IQueryable列表( var queryable MyList.AsQueryable ),我的linq语句将是
var queryable = plist.AsQueryable();
query = from People p in queryable
.Where<People>( "whereclause" )
.Select( p );
对于.Select( P)行,编译器告诉“当前上下文中不存在名称'
我一直在研究如何动态地对linq进行查询。我正在为一个web应用程序创建一个UI,它允许他们从DB中选择属性,并设置where子句来动态构建报表。我在堆栈或其他站点上看到的所有问题都引用了使用Dynamic和LinqKit解决问题的方法,例如。但是,我找不到表达语法的解决方案。
// This attempts to grab out a title whose from the Database whose
// Copyright Date equals 2006
propName = "CopyrightDate";
Model.Titles.Where(t =>
有没有在运行时确定分组键的Linq GroupBy的好方法?例如,我想从用户选择的字段列表中构建分组键-你能做到吗?我知道如果我将所有东西都转换成一个字符串表,我可以很容易地做到这一点,但我想知道是否有一种优雅或聪明的方法来实现这一点。
class Item
{
public int A, B;
public DateTime D;
public double X, Y, Z;
}
我有一个名为data的List<Item>。我想做一些事情,比如检索按A分组的X的总和,或者检索按A和B分组的X、Y和Z的总和。但是进入分组的字段应该能够在运行时以某种方式指定。
我构造了一个动态搜索linq表达式。
我能够计数列表中的记录数,但如果我将列表更改为BindingList,则无法在Lambda表达式中使用属性计数。我得到以下错误:
System.NotSupportedException类型的未处理异常发生在EntityFramework.SqlServer.dll中
附加信息: LINQ实体中不支持指定类型的成员“计数”。只支持初始化器、实体成员和实体导航属性。
这里有一个小样本:
public class Toto
{
BindingList<Tata> tatas; // or List<Tata> tatas;
}
我需要使用单个linq查询来过滤linq中实体的子元素。这个是可能的吗?
假设我有两个相关的表。诗句和VerseTranslations。LINQ to SQL创建的实体是这样的:我有一个Verse对象,其中包含一个VerseTranslation集合的子对象。
现在,如果我有以下linq查询
var res = from v in dc.Verses
where v.id = 1
select v;
我得到了一个id为1的Verses集合,每个verse对象都包含来自VerseTranslations的所有子对象。
我还
这里有两个C#类..。
public class Address
{
public string Country;
public string City;
}
public class Traveller
{
public string Name;
public List<Address> TravelRoute;
}
..。和一个数据列表(填充在某处) ...
List<Traveller> Travellers;
..。然后是这个LINQ查询:
var result = from t in Traveller
我有人,对象和人有属性组,这使他们属于不同的组。我想要获取List并将其放入一个对象GrouppedPeople中,在该对象中将有List coll。一个coll元素仅包含属于同一组的人员。
所以如果我有3个人:
List<People>(){new People{Name="Test", Group = "Group1"},
new People{Name="SameGroup", Group = "Group1"},
new People{Name=
我试图使用dynamic来使用实体框架(,EF)从数据库中获取一个人的子集。我在使用contains操作时遇到了一个问题。以下是People表的实体:
public class Person
{
public string Id { get; set; }
public string Name { get; set; }
public string Address { get; set; }
public string City { get; set; }
public string State { get; set; }
public stri
从实体列表开始,通过关联需要所有依赖实体,是否有一种方法可以使用相应的导航-属性加载所有子实体的一个db-往返?即。通过导航属性生成单个WHERE fkId IN (...)语句?
更多细节
我找到了这些方法让孩子们:
将父实体的集合保持为IQueriable
- Not good since the db will have to find the main set every time and join to get the requested data.
将父对象放入数组或列表中,然后通过导航属性获取相关数据。
var children = parentArray.S
我正在寻找一个好的指南,了解如何将Linq to Sql与WPF结合使用。
大多数指南只涉及最基本的内容,如如何显示数据库中的数据,但我发现没有一本指南涉及如何保存回数据库。你能回答或指出一个可以回答这些问题的指南吗?
我有一个单独的数据项目,因为相同的数据也将在网页中使用,所以我有存储库方法。这意味着我有一个使用DataContext的独立类,还有像GetAllCompanies()和GetCompanyById ( int )这样的方法。
1)哪里有集合,最好是以IQueryable的形式返回,还是应该返回一个列表?
在WPF项目中,我看到了将集合包装在ObservabgleCollect
一般来说,我对LINQ和许多现代数据驱动的应用程序设计技术都很陌生,所以这可能是一个非常基本的问题。
我正在尝试创建两个不同的实体框架实体到一个简单的表示模型的投影。假设我有实体Parent (属性是ID、Name、Age)和Child (属性是ID、Name、Age,以及对父级的引用)。我想将它们投影到PresentationParent和PresentationChild,其中所有属性都是相同的,但PresentationParent有一个列表。我该如何在LINQ中做到这一点?
from p in entities.Parent
select new PresentationParent
我的应用程序具有以下实体:
public class User
{
public virtual int UserID { get; set; }
public virtual Membership LatestMembership { get { return Membership.First(); } }
public virtual IList<Membership> Membership { get; set; }
public User()
{
Membership = new List<Membership