• C#→关于System.Data.Linq下的Table<TEntity> 泛型类 的问题


    Table<TEntity>表示表格记录,它是一个泛型集合类,它的元素就是表格实体对象。它提供一组方法,对元素进行添加删除操作,并可以通过DataContext将这些操作保存到数据库。

    表还是前面的那张表,在项目中添加了一个LINQ to SQL类。重点是InsertOnSubmit、DeleteOnSubmit等方法。

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    namespace LINQ_to_SQL_Table
    {
       /// <summary>
       /// 操作单一表格的Table<TEntity>类
       /// </summary>
       class Program
       {
           static void Main(string[] args)
           {
               //1.a.Attach附加实体
               DataClasses1DataContext dc1 = new DataClasses1DataContext();
               tb_GuestInfo guset = new tb_GuestInfo() { Id=1, Name = "DebugLZQ", Age = 35, Tel = "138****8888" };

               dc1.tb_GuestInfo.Attach(guset);//这样的Attach仅仅附加实体,数据库没有更新
               dc1.SubmitChanges();
               //显示附加成功
               foreach (var g in dc1.tb_GuestInfo)
               {
                   Console.WriteLine("{0} {1} {2} {3}", g.Id, g.Name, g.Age, g.Tel);
               }
               Console.WriteLine("---------");
               //显示数据库没有更新
               DataClasses1DataContext dc2 = new DataClasses1DataContext();
               foreach (var g in dc2.tb_GuestInfo)
               {
                   Console.WriteLine("{0} {1} {2} {3}", g.Id, g.Name, g.Age, g.Tel);
               }
               Console.WriteLine("------------------------");
               Console.ReadKey();

               //2.InsertOnSubmit
               dc2.tb_GuestInfo.InsertOnSubmit(guset);
               dc2.SubmitChanges();

               foreach (var g in dc2.tb_GuestInfo)
               {
                   Console.WriteLine("{0} {1} {2} {3}", g.Id, g.Name, g.Age, g.Tel);
               }
               Console.WriteLine("------------------------");
               Console.ReadKey();
               //2b.InsertAllOnSubmit 插入集合
               List<tb_GuestInfo> lst = new List<tb_GuestInfo>()
               {
                   new tb_GuestInfo(){ Name="AA", Age=25,Tel="133****3333"},
                   new tb_GuestInfo(){ Name="BB", Age=25,Tel="135****5555"}
               };
               dc2.tb_GuestInfo.InsertAllOnSubmit(lst);
               dc2.SubmitChanges();

               foreach (var g in dc2.tb_GuestInfo)
               {
                   Console.WriteLine("{0} {1} {2} {3}", g.Id, g.Name, g.Age, g.Tel);
               }
               Console.WriteLine("------------------------");
               Console.ReadKey();
               //
               //3.DeleteOnSubmit
               tb_GuestInfo entity = (from g in dc2.tb_GuestInfo
                                      where g.Name == "AA"
                                      select g).Single();
               dc2.tb_GuestInfo.DeleteOnSubmit(entity);//
               dc2.SubmitChanges();

               foreach (var g in dc2.tb_GuestInfo)
               {
                   Console.WriteLine("{0} {1} {2} {3}", g.Id, g.Name, g.Age, g.Tel);
               }
               Console.WriteLine("------------------------");
               Console.ReadKey();
               //3b.DeleteAllOnSubmit
               IEnumerable<tb_GuestInfo> entitys = from g in dc2.tb_GuestInfo
                                                   where g.Name == "AA" || g.Name == "BB"
                                                   select g;
               dc2.tb_GuestInfo.DeleteAllOnSubmit(entitys);
               dc2.SubmitChanges();

               foreach (var g in dc2.tb_GuestInfo)
               {
                   Console.WriteLine("{0} {1} {2} {3}", g.Id, g.Name, g.Age, g.Tel);
               }
               Console.WriteLine("------------------------");
               Console.ReadKey();          
               
           }
       }
    }

    程序运行结果如下:

  • 相关阅读:
    基于@vueuse/core + @vue/compositionapi 实现多行元素展开/折叠功能
    httpserver当作服务器启动项目
    深入浅析JSON.parse()、JSON.stringify()和eval()的作用详解
    es6的新语法fetch
    php shell_exec() 调用ffmpeg遇到的问题
    phpcurl 遇到 cloudflare防御
    Visual Studio Code离线安装扩展失败 Corrupt ZIP: end of central directory record signature not found
    网络常用子网掩码划分表
    [docker pull nginx] Error response from daemon: Get "https://registry1.docker.io/v2/": dial tcp: lookup registry1.docker.io: no such host
    长度延展攻击
  • 原文地址:https://www.cnblogs.com/wdcwy/p/5185489.html
Copyright © 2020-2023  润新知