Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/318.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和LINQ替换ado.net和SQLQ_C#_Linq_Entity Framework_Ado.net - Fatal编程技术网

C# 如何用EF和LINQ替换ado.net和SQLQ

C# 如何用EF和LINQ替换ado.net和SQLQ,c#,linq,entity-framework,ado.net,C#,Linq,Entity Framework,Ado.net,我有一个用sql在ado.net中编写的旧代码,我想用EF和linq进行更改,这里我使用的表是GP_REGION,我想完成var test=db3.GP_REGION.wherea=>aa。??????????;有人能替换旧的ado.net代码吗 这是完整的代码 GPentities db1 = new GPentities(); var test = db3.GP_REGION.Where(aa=>aa.??????????); //this is the line

我有一个用sql在ado.net中编写的旧代码,我想用EF和linq进行更改,这里我使用的表是GP_REGION,我想完成var test=db3.GP_REGION.wherea=>aa。??????????;有人能替换旧的ado.net代码吗

这是完整的代码

    GPentities db1 = new GPentities();

    var test = db3.GP_REGION.Where(aa=>aa.??????????);

 //this is the line which i want to complete
下面是现有的SQL代码

SELECT distinct GP_REGION.REGION_MAIN Region_Code,
            R1.REGION_NAME FROM GP_REGION INNER JOIN GP_REGION R1 
            ON GP_REGION.REGION_MAIN = R1.REGION_CODE WHERE GP_REGION.REGION_HAS_DATA='Y'
            AND GP_REGION.REGION_MAIN IN (SELECT DISTINCT AR.BRANCH_CODE FROM PORTAL.UA_APPLN_ROLE AR 
            INNER JOIN PORTAL.UA_GROUP G ON AR.GROUP_CODE = G.GROUP_CODE
            WHERE G.USER_ID = '" + Global.UserId() + "' AND AR.APPLICATION_ID = '" + ApplicationId + "') ORDER BY GP_REGION.REGION_MAIN",
                                             "REGION_NAME", "Region_Code", ref ErrorMessage, true);
下面是表格结构

"REGION_CODE" VARCHAR2(3 BYTE) NOT NULL ENABLE, 
    "REGION_NAME" VARCHAR2(40 BYTE) NOT NULL ENABLE, 
    "REGION_MAIN" VARCHAR2(3 BYTE), 
    "REGION_SHORT" VARCHAR2(1 BYTE) NOT NULL ENABLE, 
    "REGION_HAS_DATA" VARCHAR2(1 BYTE), 
    "REGION_CRM_CODE" VARCHAR2(3 BYTE), 
    "REGION_CRM_ID" NUMBER(2,0), 
    "REGION_IS_SUB" VARCHAR2(1 BYTE), 
     CONSTRAINT "PK_GP_REGION" PRIMARY KEY ("REGION_CODE")

这是返工。如果要将ADO.NET更改为EF。更好的选择是将dataset或datareader更改为IEnumerable,然后您可以应用Linq


如果您有SQL查询,并且希望在等效的LINQ查询中进行转换,那么。是一个SQL到LINQ转换工具。它可以帮助您学习LINQ并转换现有的SQL语句。

您的GP\U区域对象是什么样子的?这是一个表格实体,您希望在其中获取数据并填充到DropDownList,但您肯定已经创建了EF模型对象?我要求至少看看这个查询是否可以替换为LINQ,剩下的我会做,你能用linqSee替换那个sql查询吗,你不能将sql查询替换为LINQ,除非你创建一个LINQ to sql或EF对象。LINQ是sql server查询的C包装器。我将表转换为EF生成的类,请参阅我已完成的代码egpenties db1=new GPentities;我在我的控制器中使用它。所以唯一未决的任务是使用LINQSee从表中获取数据,这是我回答的第二段。