我正在创建一个web api来获取所有与国家/地区对象的交易,货币在这里是外键。
我有一个方法
的控制器 [Route("transactions")]
public IHttpActionResult GetCountries()
{
return Ok(db.PAY_TRANSACTION);
}
这是我的实体模型
public partial class PAY_TRANSACTION
{
public PAY_TRANSACTION()
{
this.PAY_BATCH_TRANSACTION = new HashSet<PAY_BATCH_TRANSACTION>();
this.PAY_TRANSACTION_DETAIL = new HashSet<PAY_TRANSACTION_DETAIL>();
}
public int ID { get; set; }
public int CMN_INSTITUTE_ID { get; set; }
public int USER_ID { get; set; }
public int MAS_COUNTRY_ID { get; set; }
public int CMN_CURRENCY_ID { get; set; }
public double AMOUNT_PAYING { get; set; }
public double EXCHANGE_RATE { get; set; }
public double AMOUNT_FX { get; set; }
public System.DateTime CREATED_ON { get; set; }
public int CREATED_BY { get; set; }
public System.DateTime UPDATED_ON { get; set; }
public int UPDATED_BY { get; set; }
public bool IS_DELETED { get; set; }
public bool IS_APPROVED { get; set; }
public int VERSION_NO { get; set; }
public virtual CMN_CURRENCY CMN_CURRENCY { get; set; }
public virtual CMN_INSTITUTE CMN_INSTITUTE { get; set; }
public virtual MAS_COUNTRY MAS_COUNTRY { get; set; }
public virtual ICollection<PAY_BATCH_TRANSACTION> PAY_BATCH_TRANSACTION { get; set; }
public virtual ICollection<PAY_TRANSACTION_DETAIL> PAY_TRANSACTION_DETAIL { get; set; }
}
当我请求方法时,我收到此错误:
无效的列名称&#39; MAS_COUNTRY_ID1&#39;。\ r \ n无效的列名称&#39; CMN_INSTITUTE_ID1&#39;。\ r \ n无效的列名称&#39; CMN_CURRENCY_ID1&#39;。
当我设置[ForeignKey(&#34; CMN_INSTITUTE_ID&#34;)],[ForeignKey(&#34; MAS_COUNTRY_ID&#34;)]时, [ForeignKey(&#34; CMN_CURRENCY_ID&#34;)],我得到了这个回复
{
"ID": 7,
"CMN_INSTITUTE_ID": 2,
"USER_ID": 3,
"MAS_COUNTRY_ID": 1,
"CMN_CURRENCY_ID": 2,
"AMOUNT_PAYING": 123,
"EXCHANGE_RATE": 1.2,
"AMOUNT_FX": 22,
"CREATED_ON": "2017-01-18T17:50:16.993",
"CREATED_BY": 0,
"UPDATED_ON": "2017-01-18T17:50:16.993",
"UPDATED_BY": 0,
"IS_DELETED": false,
"IS_APPROVED": false,
"VERSION_NO": 0,
"CMN_CURRENCY": null,
"CMN_INSTITUTE": null,
"MAS_COUNTRY": null,
"PAY_BATCH_TRANSACTION": [],
"PAY_TRANSACTION_DETAIL": []
}
显示我的MAS_COUNTRY,CMN_INSTITUTE,CMN_CURRENCY NULL
答案 0 :(得分:1)
在访问(:dialogue
)之前,这些相关实体不会被加载。在您的情况下,您在发送之前不会访问这些实体,因此这些属性永远不会被加载。
您Lazy Loading
Eager Load
这些实体