Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/307.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# ds和addRecords,我试过用谷歌搜索,但失败了。事实上这是可能的,但我不知道你以后会如何区分它们。太棒了,代码运行得很好,谢谢@Ivan Stoevi想要添加状态栏如果newRecod那么状态将是newRecord如果更新记录那么状态更新记录,ad_C#_Linq_Datatable - Fatal编程技术网

C# ds和addRecords,我试过用谷歌搜索,但失败了。事实上这是可能的,但我不知道你以后会如何区分它们。太棒了,代码运行得很好,谢谢@Ivan Stoevi想要添加状态栏如果newRecod那么状态将是newRecord如果更新记录那么状态更新记录,ad

C# ds和addRecords,我试过用谷歌搜索,但失败了。事实上这是可能的,但我不知道你以后会如何区分它们。太棒了,代码运行得很好,谢谢@Ivan Stoevi想要添加状态栏如果newRecod那么状态将是newRecord如果更新记录那么状态更新记录,ad,c#,linq,datatable,C#,Linq,Datatable,ds和addRecords,我试过用谷歌搜索,但失败了。事实上这是可能的,但我不知道你以后会如何区分它们。太棒了,代码运行得很好,谢谢@Ivan Stoevi想要添加状态栏如果newRecod那么状态将是newRecord如果更新记录那么状态更新记录,addOrUpdateRecords是否可以在最后一个查询(单个查询)中记录一个查询,最后您会得到该信息,因此,例如,您可以执行类似以下操作:select new{Record=drNew,Status=drOld==null?StatusEnum


ds和addRecords,我试过用谷歌搜索,但失败了。事实上这是可能的,但我不知道你以后会如何区分它们。太棒了,代码运行得很好,谢谢@Ivan Stoevi想要添加状态栏如果newRecod那么状态将是newRecord如果更新记录那么状态更新记录,addOrUpdateRecords是否可以在最后一个查询(单个查询)中记录一个查询,最后您会得到该信息,因此,例如,您可以执行类似以下操作:
select new{Record=drNew,Status=drOld==null?StatusEnum.new:StatusEnum.Updated}
上面的代码运行良好,我们可以对updateRecords和addRecords进行公共linq查询吗,我试过用谷歌搜索,但失败了。事实上这是可能的,但我不知道你以后会如何区分它们。太棒了,代码运行得很好,谢谢@Ivan Stoevi想要添加状态栏如果newRecod那么状态将是newRecord如果更新记录那么状态更新记录,addOrUpdateRecords是否可以在最后一次查询(单个查询)中记录一个查询,最后您会得到该信息,例如,您可以执行类似于
select new{Record=drNew,Status=drOld==null?StatusEnum.new:StatusEnum.Updated}
 DataTable dt1 = new DataTable("Table1");
    dt1.Columns.Add("Id",typeof(int)); 
    dt1.Columns.Add("Name");
    dt1.Columns.Add("Occupation");

    DataTable dt2 = new DataTable("Table2");
    dt2.Columns.Add("Id",typeof(int));
    dt2.Columns.Add("Name");
    dt2.Columns.Add("Occupation");

    DataTable Final = dt1.AsEnumerable()
                         .Except(dt2.AsEnumerable(), DataRowComparer.Default)
                         .CopyToDataTable();

[I need the result to be like this][1]

  [1]: http://i.stack.imgur.com/brqCF.jpg


new Code : 







DataTable dtFinal = new DataTable();

        DataTable dtNew = new DataTable();
        dtNew.Columns.Add("Id");
        dtNew.Columns.Add("Name");
        dtNew.Rows.Add("1", "Yash Fale");
        dtNew.Rows.Add("3", "Rahul");


        DataTable dtOld = new DataTable();
        dtOld.Columns.Add("Id");
        dtOld.Columns.Add("Name");
        dtOld.Rows.Add("1", "Yash");
        dtOld.Rows.Add("2", "pops");


        var addOrUpdateRecords =
                                (from drNew in dtNew.AsEnumerable()
                                 join drOld in dtOld.AsEnumerable() on drNew.Field<string>("Id") equals drOld.Field<string>("Id") into match
                                 from drOld in match.DefaultIfEmpty()
                                 where drOld == null /* new */ || !DataRowComparer.Default.Equals(drNew, drOld) /* changed */
                                 select drNew).ToList();
            if (addOrUpdateRecords.Any())
                dtFinal = addOrUpdateRecords.CopyToDataTable();

        // i want to add new column like as Status for below condition 
        // for added Records = status : newRecord
        // for updated Records = status : UpdatedRecord


        //OutPut : ie. dtFinal
        // ID Name Status
        //  1  Yash Fale UpdatedRecord
        //  3  Rahul     newRecord
var addRecords =
    (from drNew in dtNew.AsEnumerable()
     join drOld in dtOld.AsEnumerable() on drNew.Field<int>("Id") equals drOld.Field<int>("Id") into match
     where !match.Any()
     select drNew).ToList();
var dtAdd = addRecords.Any() ? addRecords.CopyToDataTable() : null;
var deleteRecords =
    (from drOld in dtOld.AsEnumerable()
     join drNew in dtNew.AsEnumerable() on drOld.Field<int>("Id") equals drNew.Field<int>("Id") into match
     where !match.Any()
     select drOld).ToList();
var updateRecords =
    (from drNew in dtNew.AsEnumerable()
     join drOld in dtOld.AsEnumerable() on drNew.Field<int>("Id") equals drOld.Field<int>("Id")
     where !DataRowComparer.Default.Equals(drNew, drOld)
     select drNew).ToList();
var addOrUpdateRecords =
    (from drNew in dtNew.AsEnumerable()
     join drOld in dtOld.AsEnumerable() on drNew.Field<int>("Id") equals drOld.Field<int>("Id") into match
     from drOld in match.DefaultIfEmpty()
     where drOld == null /* new */ || !DataRowComparer.Default.Equals(drNew, drOld) /* changed */
     select drNew).ToList();