豚吐露@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
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行目が大事なトコ!!
5行目が大事なトコ!!
- using System.ComponentModel.DataAnnotations.Schema;
-
- namespace Hoge.Models.dto
- {
- [Table("schemaName.tableName")]
- public class HageTbl
- {
- [Key]
- public int id { get; set; }
- public string title { get; set; }
- public string detail { get; set; }
- public string text { get; set; }
- }
- }
いや~、別schemaのtableがいっぱいあったらどうするんが一番えぇんでしょうな?(´・ω・`)
参考までに...以下のようなschema名の違うContextを複数作ってjoinすることはできないみたいなのであしからず...
『結合できるのは、DbContext内だけです。』ってぇ事みたいです。
『結合できるのは、DbContext内だけです。』ってぇ事みたいです。
- namespace GisApi.Controllers
- {
- public class AreaController : ApiController
- {
-
- public IEnumerable<retJoin> Get()
- {
- var tmp = from ah in abc.hoge
- join xh in xyz.hage
- on ah.id equals xh.hogeid
- select new retJoin
- {
- // 略
- };
- return tmp.ToList();
- }
- }
- }
こんなメッセージが出て怒られます。(´・ω・`)
-2146233067(0x80131515) 指定された LINQ 式には、別のコンテキストに関連付けられているクエリへの参照が含まれています。
更新日: 2014年11月27日 (木) 16時30分22秒