C# 响应中的asp.net实体框架键
我正在尝试使用ASP.NETWebAPI和实体框架在C#中编写我的第一个RESTfulAPI 我的问题是,从EF查询返回的列表被无用的实体键信息污染了(我发现,因为我的列如果认为它们都必须是键,则可以为null) 下面是我从API调用中收到的XML响应的一部分C# 响应中的asp.net实体框架键,c#,asp.net-mvc,entity-framework,C#,Asp.net Mvc,Entity Framework,我正在尝试使用ASP.NETWebAPI和实体框架在C#中编写我的第一个RESTfulAPI 我的问题是,从EF查询返回的列表被无用的实体键信息污染了(我发现,因为我的列如果认为它们都必须是键,则可以为null) 下面是我从API调用中收到的XML响应的一部分 <syemploy z:Id="i1"><EntityKey z:Id="i2"> <d2p1:EntityContainerName>AbraHRMS_LiveEntities</d2p1:En
<syemploy z:Id="i1"><EntityKey z:Id="i2">
<d2p1:EntityContainerName>AbraHRMS_LiveEntities</d2p1:EntityContainerName>
<d2p1:EntityKeyValues>
<d2p1:EntityKeyMember>
<d2p1:Key>id_col</d2p1:Key>
<d2p1:Value i:type="d5p1:int">15</d2p1:Value>
</d2p1:EntityKeyMember>
<d2p1:EntityKeyMember>
<d2p1:Key>e_address1</d2p1:Key>
<d2p1:Value i:type="d5p1:string">153 Townsend Street, Suite 9057</d2p1:Value>
</d2p1:EntityKeyMember>
...
阿布拉赫姆斯
身份证
15
e_地址1
汤森街153号9057室
...
如何从响应中删除实体键值?
我的c#代码是这样的
AbraHRMS_LiveEntities _db = new AbraHRMS_LiveEntities();
# GET api/employee
public List<MvcApplication1.DAL.syemploy> Get()
{
return _db.syemploys.ToList();
}
AbraHRMS_LiveEntities\u db=new AbraHRMS_LiveEntities();
#获取api/员工
公共列表Get()
{
return _db.syemployers.ToList();
}
同样,这是我在C#中的第一个API,因此,如果有任何东西看起来很时髦,请随意指出。默认情况下,您的实体的所有公共属性都是XML。为了避免它们响应,请尝试创建不包含不需要的字段的“new”类,然后将结果转换为“new”类型对象列表。您可以在_db.syemployes上使用.Select()或.Cast()。请记住,syemploy类应该可以转换为“new”类,以防调用Cast方法。您可以阅读C#中的类型转换。如果使用.Select(),则在Select的lambda表达式中构造新类型的对象