我正在为我的C#项目寻找​​ORM。我试过ADO.net,但我不太明白

时间:2018-08-14 19:21:56

标签: c# visual-studio ado.net ado.net-entity-data-model

我在基于现有数据库的项目中添加了一个新的ADO.NET ORM对象。我能够创建一个新对象,但我不太了解如何将新对象插入数据库并从中获取生成的ID。

从链接中显示的示例中,我只是不了解他们的 TestDBEntities

是什么

基于经验,我也愿意接受任何ORM建议!谢谢!

enter image description here

        public static void Insert_Demande_Willy(string ModelPath)
    {
        using (TestDBEntities ctx = new TestDBEntities())
        {
            Model.CreateDessin newDemande = new CreateDessin()
            {
                DateProduite = DateTime.Now,
                GenerateBom = Willy.Properties.Settings.Default.GenerateBom.ToString(),
                MailAdress = Willy.Properties.Settings.Default.Email,
                NotifyRBRE = Willy.Properties.Settings.Default.Wilma_RBRE.ToString(),
                NotifyRBTK = Willy.Properties.Settings.Default.Wilma_RBTK.ToString(),
                NotifyTLS = Willy.Properties.Settings.Default.Wilma_TLS.ToString(),
                NotifyTQ = Willy.Properties.Settings.Default.Wilma_TQ.ToString(),
                PathDessin = ModelPath,
                SendingComputer = Environment.MachineName,
                UserName = Environment.UserName
            };

            Insert_Demande_Willy_DTL(newDe)

        }

    }

    /// <summary>
    /// Importer Statuts enumeration
    /// Setter priorité
    /// NoECO juste quand check? 
    /// IF DEV TESTED BY 
    /// </summary>
    /// <param name="ID"></param>
    private static void Insert_Demande_Willy_DTL(int ID)
    {
        Model.CreateDessinDTL newDemandeDTL = new CreateDessinDTL()
        {
            ConfigName = "",
            CreatePDF = Willy.Properties.Settings.Default.GeneratePDF.ToString(),
            C_ID = ID,
            NoECO = Willy.Properties.Settings.Default.EcoName,
            Priority = 2,
            Statut = "Willy2",


        };
    }

Source 1 Source 2

2 个答案:

答案 0 :(得分:0)

同意以上评论者。 EF6非常好。另外-我对EF6还是很陌生,但是我相信您可以先将其设置为以代码方式在现有数据库上工作,因为您可以使用EFPowerTools生成模型,然后进行任何更改您的代码将自动在您的数据库中更新。

https://msdn.microsoft.com/en-us/library/jj200620(v=vs.113).aspx

答案 1 :(得分:0)

我不知何故找到了一种使该功能生效的方法。不幸的是,某些对象的某些成员不会与Intellisence一起显示。

    /// <summary>
    /// Setter priorité
    /// NoECO juste quand check? 
    /// </summary>
    /// <param name="ID"></param>
    private static void Insert_Demande_Willy_DTL(int ID)
    {
        {

            DemoInfo_IndusEntities context = new DemoInfo_IndusEntities();

            context.CreateDessinDTL.Add(new CreateDessinDTL_Demo()
            {
                ConfigName = "",
                C_ID = ID,
                NoECO = Willy.Properties.Settings.Default.EcoName,
                Priority = 2,
                Statut = AppConfig.Controller.Statuts.Willy.Willy2,
                TestedBy = Environment.UserName
                //CreatePDF = Willy.Properties.Settings.Default.GeneratePDF.ToString(),


            });

            context.SaveChanges();
        }}