利用EF对数据库中相应的表进行各种操作

//通过数据库生成的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;
                    }
                }
            }

        }
    }
}


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值