2010-04-07 2 views
0

엔티티 맵을 엔티티 앱에 제공하려고합니다. 그러나 나는 그것을 어떻게 할 수 있는가? 나는 아래처럼 만들려고 : 코드 K 위의SQL의 외래 키처럼 Entity Framework에서 엔터티 키 매핑을 만드는 방법은 무엇입니까?

var test = (from k in Kartlar where k.Rehber..... 

(Rehber 여부가 작동 볼 수 없습니다) 당신이 올바른지, 내가 k.Rehber.ID 등을 작성할 수 있습니다.. 내가 쓸 수 없습니다 :

from 
k in 
Kartlar 
where 
k.Rehber.ID = 123 //assuming that navigation property name is Rehbar and its primary key of Rehbar table is ID 
&& k.Kampanya.ID = 345 //assuming that navigation property name is Kampanya and its primary    //key of Kampanya table is ID 
&& k.Birim.ID = 567 //assuming that navigation property name is Birim and its primary key of Birim table is ID 
select 
k 

이미지를 볼 수 있습니다 또한 alt text http://img695.imageshack.us/img695/9334/test1f.png

: 당신은 같아야합니다 http://i42.tinypic.com/2nqyyc6.png

을 나는 그것이 3 외래 키 필드처럼 포함하는 테이블이 있습니다

나의 테이블 : Kartlar

  • ID (PKEY)
  • RehberID (Fkey)
  • KampanyaID (Fkey)
  • BrimID (Fkey)는
  • 이름
  • 상세

어떻게 LINQ와 엔티티 쿼리를 작성할 수 있습니까?

select * from Kartlar where RehberID=123 and KampanyaID=345 and BrimID=567 

그러나 RehberID, KampanyaID, BrimID가 외부 키인 엔티티에서는 볼 수 없으므로주의하시기 바랍니다. 엔티티 키를 사용해야하지만 어떻게해야합니까?

+0

나는 이것을 시도한다 : (k.RehberReference.EntityKey == RehberID 선택 k 인 genSatisCtx.Kartlar의 k에서); – programmerist

답변

0
using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using System.Text; 
using System.Data; 
using System.Data.Objects; 
using System.Data.Objects.DataClasses; 
using System.Web.UI.MobileControls; 


namespace EfEntity 
{ 
    public partial class _Default : System.Web.UI.Page 
    { 
     protected void Page_Load(object sender, EventArgs e) 
     { 
      if (!IsPostBack)<br> 
      { 
       gwKampanya.DataSource = Kart(297688, 88689, 68686); 
       gwKampanya.DataBind(); 
      } 
     } 

     public List<Kartlar> Kart(int RehberID, int KampanyaID, int BrimID) 
     { 
      List<Kartlar> kartlar; 
      using (xyzEntities genSatisctx = new xyzEntities()) 
      { 
       kartlar = (from k in genSatisctx.Kartlar 
          where k.Rehber.ID == RehberID && 
           k.Kampanya.ID == KampanyaID && 
           k.Birim.ID == BrimID 
          select k).ToList(); 

       return kartlar; 

      } 
     } 
    } 


} 
+0

사용자가 가지고있는 모델에 탐색 속성이있는 것처럼 보이며 그리드에있는 특성을 사용하면 지연로드 킬링 성능에 문제가 발생할 수 있습니다. 이 경우 OP는 열정적 인로드를 사용해야합니다. http://www.codeproject.com/Articles/102647/Select-N-1-Problem-How-to-Decrease- Your-ORM-Perfor. – Josh

관련 문제