豚吐露@wiki

複数のschemaのtableを結合する方法

最終更新:

Bot(ページ名リンク)

- view
管理者のみ編集可

複数のschemaのtableを結合する方法

Windows 7 Professional
Visual Studio 2013 Professional
.Net Framework 4.5
ASP.NET MVC 5.1.2
Entity Framework 6.1.0 ※以降EF6
PostgreSQ L9.3.5.1

classにtable annotationを付けてやって、annotationでschemaを含めた正式名称を教えてあげる。
5行目が大事なトコ!!

  1. using System.ComponentModel.DataAnnotations.Schema;
  2.  
  3. namespace Hoge.Models.dto
  4. {
  5. [Table("schemaName.tableName")]
  6. public class HageTbl
  7. {
  8. [Key]
  9. public int id { get; set; }
  10. public string title { get; set; }
  11. public string detail { get; set; }
  12. public string text { get; set; }
  13. }
  14. }

いや~、別schemaのtableがいっぱいあったらどうするんが一番えぇんでしょうな?(´・ω・`)


参考までに...以下のようなschema名の違うContextを複数作ってjoinすることはできないみたいなのであしからず...
『結合できるのは、DbContext内だけです。』ってぇ事みたいです。

  1. namespace GisApi.Controllers
  2. {
  3. public class AreaController : ApiController
  4. {
  5. public abcContext abc = new abcContext(); // schema abcのDbContext
  6. public xyzContext xyz = new xyzContext(); // schema xyzのDbContext
  7.  
  8. public IEnumerable<retJoin> Get()
  9. {
  10. var tmp = from ah in abc.hoge
  11. join xh in xyz.hage
  12. on ah.id equals xh.hogeid
  13. select new retJoin
  14. {
  15. // 略
  16. };
  17. return tmp.ToList();
  18. }
  19. }
  20. }

こんなメッセージが出て怒られます。(´・ω・`)
-2146233067(0x80131515)
指定された LINQ 式には、別のコンテキストに関連付けられているクエリへの参照が含まれています。



更新日: 2014年11月27日 (木) 16時30分22秒

名前:
コメント:

すべてのコメントを見る
記事メニュー
ウィキ募集バナー