亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

2個model的情況(兩個關聯表)如何用泛型實現?

2個model的情況(兩個關聯表)如何用泛型實現?

Smart貓小萌 2018-11-07 05:02:22
public List<Model.ToDo> GetList(string strWhere)       {           StringBuilder strSql = new StringBuilder();           strSql.Append("SELECT * FROM ToDoList ");           if (strWhere.Trim() != "")           {               strSql.Append(" WHERE " + strWhere);           }           strSql.Append(" ORDER BY ID DESC ");           List<Model.ToDo> models = new List<Model.ToDo>();           using (SqlDataReader dr = SQLHelper.ExecuteReader(Util.Conn, strSql.ToString()))           {               while (dr.Read())               {                   models.Add(GetModel(dr));               }           }           return models;       } 這個是單表,單model,如果sql語句改成strSql.Append("SELECT * FROM ToDoList ");strSql.Append("JOIN Customer ON Customer.ID=ToDoList.CustomerID ");鏈接了另外一個表,這種情況怎么用泛型實現?
查看完整描述

2 回答

?
浮云間

TA貢獻1829條經驗 獲得超4個贊

其實你在設計Model.ToDo時候就應該將Model.ToDo中包含對于Customer引用,可以作為屬性提供,那么你在這里就可以一次完成,實際上屬于建模問題

查看完整回答
反對 回復 2018-11-13
?
回首憶惘然

TA貢獻1847條經驗 獲得超11個贊

這種問題我一般使用一些額外的屬性,比如有一個Acticle的model , 往往文章作者可能只存了一個AuthorId, 那么我除了在Acticle里面包含 文章表的所有字段外還會再加一個AuthorName的屬性, 這樣通過聯表查詢后只需要給該字段賦值就可以取得作者的名字, 還有一個辦法就是建一個視圖,綁定這個視圖的泛型List 也可以解決問題, 另外可以考慮樓上的做法,包含一個對其它model的引用, 可以使用 aticle.author.AuthorName來訪問或者aticle.tags(這里tags是List<Tag>)

隨便說一句,象這種沒幾個string連接的就不要用StringBuiler了,直接連接即可,StringBuilder初始化也是要時間的.


查看完整回答
反對 回復 2018-11-13
  • 2 回答
  • 0 關注
  • 376 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號