代码之家  ›  专栏  ›  技术社区  ›  loki

如何使实体框架中的实体键映射像sql的外键?

  •  0
  • loki  · 技术社区  · 16 年前

    我尝试在我的实体应用程序上提供实体地图。但我该怎么做呢?我试着做如下:

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

    以上代码k(看不到Reber或不工作)如果你是正确的,我可以写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个外键字段:

    我的桌子:

    • ID(Pkey)
    • KampanyaID公司(Fkey)
    • 布里米德(Fkey)
    • 姓名
    • 细节

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

    但请注意,我看不到RehberID,KampanyaID,BrimID在实体中他们是外键。我应该用实体键,但是怎么用?

    1 回复  |  直到 16 年前
        1
  •  0
  •   J. Steen    13 年前
    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;
    
                }
            }
        }
    
    
    }
    
    推荐文章