Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 响应中的asp.net实体框架键_C#_Asp.net Mvc_Entity Framework - Fatal编程技术网

C# 响应中的asp.net实体框架键

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

我正在尝试使用ASP.NETWebAPI和实体框架在C#中编写我的第一个RESTfulAPI

我的问题是,从EF查询返回的列表被无用的实体键信息污染了(我发现,因为我的列如果认为它们都必须是键,则可以为null)

下面是我从API调用中收到的XML响应的一部分

<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表达式中构造新类型的对象