//通过数据库生成的model
using EFInputModel;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
namespace GetSystemFieldByLinq
{
class Program
{
static void Main(string[] args)
{
ChangeShareHold();
}
/// <summary>
/// 利用实体对数据库进行增删改查
/// </summary>
public static void ChangeShareHold()
{
IEnumerable<TBL_CHN_I_MG_SHAREHOLD_V> collection = null;// gridView2.DataSource as List<TBL_CHN_I_MG_SHAREHOLD_V>;
if (collection != null && collection.Count() != 0)
{
foreach (var item in collection)
{
var db = new Entities();
TBL_CHN_I_MG_SHAREHOLD_V stOld = new TBL_CHN_I_MG_SHAREHOLD_V();
if (item.UPDATEID != 0)
{
stOld = db.TBL_CHN_I_MG_SHAREHOLD_V.Single(x => x.UPDATEID == item.UPDATEID);
}
TBL_CHN_I_MG_SHAREHOLD stNew = new TBL_CHN_I_MG_SHAREHOLD
{
INSTITUTIONID = item.INSTITUTIONID,
SYMBOL = item.SYMBOL,
DECLAREDATE = item.DECLAREDATE,
ENDDATE = item.ENDDATE,
CHANGEREASON = item.CHANGEREASON,
CHANGEREASONID = item.CHANGEREASONID,
SHAREHOLDERNAME = item.SHAREHOLDERNAME,
SHAREHOLDERID = item.SHAREHOLDERID,
HOLDSHARES = item.HOLDSHARES,
UNCRICULATIONSHARES = item.UNCRICULATIONSHARES,
HOLDPROPORTION = item.HOLDPROPORTION,
HOLDRANKING = item.HOLDRANKING,
CATEGORY = item.CATEGORY,
CATEGORYCODE = item.CATEGORYCODE,
SHAREHOLDERNATURE = item.SHAREHOLDERNATURE,
SHARESNATURE = item.SHARESNATURE,
SHARESNATUREID = item.SHARESNATUREID,
PLDGFRZCUSTSIGN = item.PLDGFRZCUSTSIGN,
PLDGFRZCUSTNUMBER = item.PLDGFRZCUSTNUMBER,
PLEDGENUMBER = item.PLEDGENUMBER,
FREEZINGNUMBER = item.FREEZINGNUMBER,
CUSTODYNUMBER = item.CUSTODYNUMBER,
COMMENTS = item.COMMENTS,
RECORDID = GetSystemFiled.GetGuid(),
UPDATEID = GetSystemFiled.GetMaxId("CHN_I_MG_SHAREHOLD"),
CREATETIME = GetSystemFiled.GetSysdate(),
ENDMODIFYTIME = GetSystemFiled.GetSysdate(),
DATAOPERATETAG = 0,//数据操作标识 0:新增,1:修改,2:删除 0
QUALITYCHECKSTATE = 1,//质检状态 0:未质检,1:质检通过,2:质检不通过 1
AUDITSTATE = 2,//审核状态 审核状态(0:无需审核,1:等待审核,2:审核通过,3:审核不通过,4:巨潮数据,5:草稿数据)2
FORCESUBMITREASON = null,//强制提交原因
DELETEREASON = null,//删除原因
INPUTSTATE = 0,//录入审核状态 (0:外部数据如巨潮; 1:GTA录入或加工外部数据记录。)0
UPDATESTATE = 0,//Update状态 ETL更新状态(-1:外部数据。0:新增;1:修改;2:删除)0
UTSID = GetSystemFiled.GetUtsID("CHN_I_MG_SHAREHOLD"),//UTS更新字段
UPDATETIME = GetSystemFiled.GetsSysdateAsTimestamp(),
BUSINESSTIME = GetSystemFiled.GetSysdate(),
//FILENAME = item.FILENAME,
//FILESTORAGEPATH = item.FILESTORAGEPATH,
PLDGFRZCUSTCOMMENTS = item.PLDGFRZCUSTCOMMENTS,
UPDATEID2 = item.UPDATEID2,
SOURCETABLE = item.SOURCETABLE,
RELATIONSHIP = item.RELATIONSHIP,
};
//更新数据
db.Entry(stOld).CurrentValues.SetValues(stNew);
//先添加
db.TBL_CHN_I_MG_SHAREHOLD.Add(stNew);
if (item.UPDATEID != 0)
{
//再删除
db.Entry<TBL_CHN_I_MG_SHAREHOLD_V>(stOld).State = EntityState.Deleted;
}
try
{
//确认变化
db.SaveChanges();
}
catch (Exception e)
{
continue;
}
}
}
}
}
}