C# 如何获取属性的类型?

C# 如何获取属性的类型?,c#,entity-framework,C#,Entity Framework,我在我的项目中使用实体框架6代码优先的方法 我尝试获取合同实体中的属性类型: var t = _context.Contracts.Select(x=>x.ClientId).GetType(); Contracts是具有ClientId属性并在上下文中定义的实体 但是t为空 如何获取合同实体的属性类型。您可以使用Single()或FirstorDefault() 你想干什么?为什么要使用查询来检查属性的类型,而不是尝试通过DbSet,Contracts访问它?还是仅仅通过实体的类型?您

我在我的项目中使用实体框架6代码优先的方法

我尝试获取合同实体中的属性类型:

var t = _context.Contracts.Select(x=>x.ClientId).GetType();
Contracts
是具有
ClientId
属性并在上下文中定义的实体

但是
t
为空

如何获取合同实体的属性类型。

您可以使用
Single()或FirstorDefault()


你想干什么?为什么要使用查询来检查属性的类型,而不是尝试通过DbSet,
Contracts
访问它?还是仅仅通过实体的类型?您是否真的在寻找数据库集的元数据?是否有其他方法?人们无法理解您试图通过该查询获得什么。尝试详细说明。类似于
var t=\u context.Contracts.GetType().GetProperty(“ClientId”).PropertyType
?反思?取决于你想做什么。DbContext或ObjectContext提供对元数据的访问。或者您可以简单地在
合同上使用反射,这根本不是一个好主意。这将强制执行查询,点击数据库以获取codeI get error序列中已经存在的信息,该序列包含多个element@Michael尝试这段代码是一个非常非常糟糕的主意。当您已经拥有可用的实体类型时,绝对没有理由执行查询。但是,你想做什么?你为什么想要一个属性的类型?有很多方法可以做任何你想做的事情,如果你解释的话。
_context.Contracts.Select(x=>x.ClientId).Single().GetType();