我無法在具有 Fluent API 的物體框架中的一對一關系表中選擇一些直接列以及一些特定列。
public class Employee
{
public int id;
public string FirstName;
public string LastName;
public Address address;
}
public class Address
{
public int AId;
public string City;
public string PinCode;
public string District;
public State State;
}
public class State
{
public int Sid;
public string Name;
public string CapitalCity;
}
我想得到這樣的 JSON 物件回應:
{
"Id": 1,
"FirstName": "John",
"Address": {
"AId": 1,
"City": "San Francisco",
"State": {
"Sid": 1,
"Name": "California"
}
}
}
我目前正在做
this.context.Employees
.Select(employee => new Employee
{
Id = employee.Id;,
FirstName = employee.FirstName;
Address = employee.Address.select(*I am struggling here*);
State = employee.Address.State.select(*I am struggling here*);
Id = employee.Id;
})
.AsNoTracking()
.FirstOrDefaultAsync();
我可以在一對一導航參考的內部選擇中包含該欄位嗎??
選擇內部一對一關系列是否正確..?
如何選擇與我的 JSON 回應一樣的列?
uj5u.com熱心網友回復:
如果您沒有適當的 DTO,最好專案到匿名類:
var result = his.context.Employees
.Select(employee => new
{
employee.Id,
employee.FirstName,
Address = new
{
employee.Address.AId,
employee.Address.City,
State = new
{
employee.Address.State.Sid,
employee.Address.State.Name
}
}
})
.FirstOrDefaultAsync();
請注意,AsNotracking()如果您通過 進行自定義投影Select,則不需要這樣做,EF 不會跟蹤自定義物件。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/434892.html
