Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/77.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
Sql VS中表的属性用C编码#_Sql_Key - Fatal编程技术网

Sql VS中表的属性用C编码#

Sql VS中表的属性用C编码#,sql,key,Sql,Key,我有这张桌子: 请不要介意,因为这是我的母语,没关系 这些都是表中的属性,但当我去Visual Studio尝试使用其中一些属性时,我得到了以下属性: 我在VS中看到了所有“正常”属性,但这些FK属性在哪里? 我需要他们比较几个,然后得到值 我无法从其他表的名称[dot]属性等使用它。。。 例如: 我需要这个:table1.ID==table2.ID 而不是这个:table1.ID==table1.table2.ID SQL表中显示的VS中的FK属性在哪里或是什么 public void

我有这张桌子:

请不要介意,因为这是我的母语,没关系

这些都是表中的属性,但当我去Visual Studio尝试使用其中一些属性时,我得到了以下属性:

我在VS中看到了所有“正常”属性,但这些FK属性在哪里? 我需要他们比较几个,然后得到值

我无法从其他表的名称[dot]属性等使用它。。。 例如:

我需要这个:
table1.ID==table2.ID
而不是这个:
table1.ID==table1.table2.ID

SQL表中显示的VS中的FK属性在哪里或是什么

public void setParametri(int desID)
    {

        foreach (desavanje d in DM_Class.dc.desavanje)
           if (d.desavanjeID == desID)
            {


                //THIS FIRST 4 LINES WORKS PERFECTLY
                this.naziv_des = d.naziv_des;
                this.datum_po = d.datum_pocetka.ToString();
                this.datum_zav = d.datum_kraja.ToString();
                this.cijena = d.cijena_des;

                //foreach (klijenti k in DM_Class.dc.klijenti)
                //{
                //    if(k.klijentID == //WHAT TO PUT HERE TO COMPARE VALUE klijentID from tables klijenti with FK value in table desavanje)
                //        this.klijent = k.Ime + ' ' + k.Prezime;
                //}



               //ON THIS LINE I'M GETTING ERROR - Object reference not set to an instance of an object. but why? 
               //I have data on that field in DB ? 
                 //this.grad = d.mjesto_desavanja.gradovi.naziv_grada.ToString();              
                //this.mjesto = d.mjesto_desavanja.naziv_objekta;
                //this.organizator = d.organizator.Ime + ' ' + d.organizator.Prezime;
                //this.tip = d.tip_desavanja.vrsta_des;
                this.klijent = d.klijenti.Ime + ' ' + d.klijenti.Prezime;
                //this.status = d.status_desavanja.naziv_statusa;
                //this.br_gost = d.specifikacija_desavanja.br_osoba;


            }
        }

如果有其他解决方案可以获取属性的值,我愿意在不使用另一个foreach循环的情况下尝试它?

好的,我已经解决了这个问题。。我使用linq查询生成了我需要的数据,在查询中我比较了需要的ID,最后得到了一些有用的信息。

如果您可以在问题本身中指出这些信息,而不是链接(甚至没有真正的链接)图像,那将非常有帮助。我不确定您在这里寻找的是什么。代码本身没有“外键”的概念。C#是面向对象的,而不是关系型的。你在这里使用什么技术?例如,如果您只是使用LINQtoSQL,那么生成的数据上下文类应该是外键感知的,并且应该具有可以访问相关类的类属性。你能详细说明一下你想要完成什么,以及你是如何无法完成的吗?新用户的Stackoverflow规则不允许发布真正的链接,所以我这样说。。阅读、理解和想象更容易理解这一点。。但我也会用文字来表达。。好的,我使用ADO.NET来处理DB,在这种情况下,我必须从几个表中获取数据,但在foreach循环中,我无法连接表来收集信息。所以我尝试使用另一个foreach循环数据库中的其他表,从中提取数据。要做到这一点,我需要比较第一个中的FK和第二个中的PK的ID。现在更清楚了吗?@Gabrijelgaleban:如果你在问题中加入代码,会更清楚。当您说您正在使用ADO.NET时,请显示您正在使用的实际类/对象。数据集/数据表?一些强类型对象?现在的问题没有多大意义(至少对我来说)。显示用于获取试图获取的信息的代码,并在该代码中指出问题所在。在C#对象中“加入”的概念对我来说意味着你试图在一个已经不正确的方法上获得帮助,因此我们可能需要退一步。@Gabrijelgaleban:你的变量和类型名称没有给出任何表示它们的含义的指示(并且不遵循C#约定),因此很难遵循。对于空引用异常,您必须确定该代码行上的哪个对象是
null
。你达到了4个级别(这明显违反了德米特定律),其中一个级别在其父对象上显然是
null
。内部循环没有真正意义,因为它只保留最后一条记录的值。那么为什么要循环呢?为什么不使用最后的匹配记录呢?