我現在準備用EF Core從現有的資料庫里取資料出來,有三張表:
其中,一個JobHeader可以包含多個JobOperation,關聯鍵是JobNum, 同樣的一個JobOperation,可以包含多個OprTransactions,關聯鍵是JobNum+OpCode
請問我怎樣用EF Core來定義映射關系并取值呢?
public class JobHeader
{
[Key]
public string JobNum { get; set; }
public string PartNum { get; set; }
}
public class JobOperation
{
[Key]
public int Id { get; set; }
public string JobNum { get; set; }
public string OpCode { get; set; }
}
public class OprTransactions
{
[Key]
public int Id { get; set; }
public string JobNum { get; set; }
public string OpCode { get; set; }
public string TransType { get; set; }
}
希望取值的內容如下:
{
"jobNum": "000025172-0009",
"partNum": "CIB-75-00024KT-A",
"JobOperation": [
{
"jobNum": "000025172-0009",
"opCode": "NF01",
"OprTransactions": [
{
"id": 1,
"jobNum": "000025172-0009",
"opCode": "NF01",
"transType": "OPRSTART",
},
{
"id": 2,
"jobNum": "000025172-0009",
"opCode": "NF01",
"transType": "OPREND",
}
]
},
{
"jobNum": "000025172-0009",
"opCode": "NF34",
"OprTransactions": [
{
"id": 3,
"jobNum": "000025172-0009",
"opCode": "NF34",
"transType": "OPRSTART",
}
]
}
]
}
uj5u.com熱心網友回復:
坐等高手啊等到答案就結貼!
uj5u.com熱心網友回復:
EF 不是特別熟悉。不過我覺得 DbContext 里有 Entity 的感念,你可以用 EntityConnection 和 EntityCommand 來看看,然后重寫 CreatingModel 和 CreatingTable ,你可以 LINQ TO SQL 的方式來序列化下看看。因為寫的比較少。也不太喜歡這種方式。所以 平時很少用。
給你個帖子推薦下 https://www.cnblogs.com/libingql/p/4052906.html
uj5u.com熱心網友回復:
我格式 其實不太喜歡 這種方式,雖然快捷。因為可讀性比較差。uj5u.com熱心網友回復:
多謝回復。感覺應該不復雜,只是平常較少用EF Core.....uj5u.com熱心網友回復:
你這個簡單
public class JobHeader
{
[Key]
public string JobNum { get; set; }
public string PartNum { get; set; }
public virtual List<JobOperation> JobOperations{get;set;}
}
public class JobOperation
{
[Key]
public int Id { get; set; }
public string JobNum { get; set; }
public string OpCode { get; set; }
public virtual List<OprTransactions> OprTransactions{get;set;}
}
public class OprTransactions
{
[Key]
public int Id { get; set; }
public string JobNum { get; set; }
public string OpCode { get; set; }
public string TransType { get; set; }
}
//然后你最后把 JobHeader.toJson();就是你上面那個結果了
uj5u.com熱心網友回復:
你這只是定義了映射關系,并沒有告之如何取資料哦。。。uj5u.com熱心網友回復:
EF 里有一種特殊的設計叫做導航屬性。轉載請註明出處,本文鏈接:https://www.uj5u.com/net/126044.html
標籤:LINQ
