• Linq to SQL 简单增删改查


    用Linq大大减少了对数据库的一般操作所需的编码量。
    运行下面事例之前,首先建一个叫做Alien的数据库表。

    CREATE TABLE [dbo].[Aliens](
        [Id] [int] IDENTITY(1,1) NOT NULL primary key,
        [Name] [nchar](10) NULL,
    )

    建一个console项目,在项目里添加一个Linq To Sql类文件(.dbml以及两个附属文件),把Alien表从服务器资源管理器拖进来。然后就可以运行下面的代码了:

    示例代码
    using System;
    using System.Linq;

    namespace LearnLinqToSql
    {
        class Program
        {
            static void Main(string[] args)
            {
                ForLearnDataContext db = new ForLearnDataContext();
                db.Log = Console.Out;

                // Insert
                Alien et = new Alien { Name = "ET" };
                db.Alien.InsertOnSubmit(et);
                db.SubmitChanges();

                // Update
                Alien toChange = db.Alien.Where(a => a.Name == "ET").First();
                toChange.Name = "DC";
                db.SubmitChanges();
               
                // Delete
                Alien dc = db.Alien.Where(a => a.Name == "DC").First();
                db.Alien.DeleteOnSubmit(et);
                db.SubmitChanges();

                Console.WriteLine(et.GetHashCode());
                Console.WriteLine(toChange.GetHashCode());
                Console.WriteLine(dc.GetHashCode());
                db.Alien.InsertOnSubmit(et); // Error: Cannot add an entity that already exists.
            }
        }
    }
     

    通过上面示例可以感觉到,运行环境默默在本地维护了一套对象,在数据库端指向的是同一条记录,则在代码这端就是指向同一个实体的引用。

  • 相关阅读:
    测试工程师的分工
    功能点算法及在软件测试中的应用Part3
    功能点算法及在软件测试中的应用Part4
    开发丈夫和测试妻子
    好友的AA制生活
    测试数据建模
    Windows 工具总结
    C# ActiveX control without a form
    【原创】WebReuest在GetResponse()时异常信息为ProtocolError的解决
    使用ShellExecute带路径遇到的问题
  • 原文地址:https://www.cnblogs.com/51net/p/3947547.html
Copyright © 2020-2023  润新知