Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在EF模型中不包含外键的情况下从一对多表列中获取值_C#_Sql_Asp.net_Entity Framework - Fatal编程技术网

C# 如何在EF模型中不包含外键的情况下从一对多表列中获取值

C# 如何在EF模型中不包含外键的情况下从一对多表列中获取值,c#,sql,asp.net,entity-framework,C#,Sql,Asp.net,Entity Framework,我有两个表t1一对多T2: T1表 主密钥 名称 起始日期 结束日期 T2表 主密钥 T1ID这是数据库中的外键,因为im使用3.5.net framework,所以我不能使用实体框架包含外键 StoreIDnvarchar 如何获取属于T1表中一行的所有T2 StoreID 我有以下代码从T1获取特定行: public t1 GetT1ByID(string name) { return db.t1.FirstOrDefault(m => m.

我有两个表t1一对多T2:

T1表

主密钥 名称 起始日期 结束日期 T2表

主密钥

T1ID这是数据库中的外键,因为im使用3.5.net framework,所以我不能使用实体框架包含外键

StoreIDnvarchar

如何获取属于T1表中一行的所有T2 StoreID

我有以下代码从T1获取特定行:

  public t1 GetT1ByID(string name)
        {
            return db.t1.FirstOrDefault(m => m.Name.ToLower() == name.ToLower());    
        }
下面是代码隐藏:

Repository rep = new Repository();
                string namn = SPContext.Current.Web.Title;
                var allItems = rep.GetT1ByID(namn);
我尝试了以下几点:

        foreach (var items in allItems.t2)
        {
            storeID.Text += items.storeID;
        }
var t2 = db.t2s.Find(t2ID);
var t1s = db.t1s.Where(m => m.t2NavProperty == t2);
但是我什么也得不到,因为allItems里面什么都没有


感谢您提供的任何帮助。

首先,当您对如何通过LINQ或实体框架检索某些内容有疑问时,我们需要的是您的类,而不是表模式。这两个属性不一定相同,尤其是在本例中,导航属性不会在表模式中表示

也就是说,如果您没有显式属性来保存实体上的外键,那么您将不得不比较整个对象。同样,很难给出您可以使用的实际代码,因为您的问题中不包括您的实体,但大致上您需要以下内容:

        foreach (var items in allItems.t2)
        {
            storeID.Text += items.storeID;
        }
var t2 = db.t2s.Find(t2ID);
var t1s = db.t1s.Where(m => m.t2NavProperty == t2);

@Ehssansajjad看起来怎么样?只需谷歌linq加入两个tables@EhsanSajjad是的,但如果实体框架中没有外键列,我如何使用linq通过join从T1中的特定行获取所有storeID?我只有导航属性可供选择你是否尝试过搜索,谷歌上有很多例子是的,我已经做过了