linq to sql插入操作取回自增的ID

简介:
 

       

首先我们来看一个简单的插入操作:

        TestDataContext dc = new TestDataContext();
        protected void Page_Load(object sender, EventArgs e)
        {
            tbl_User user = new tbl_User();
            user.uname = "xy";
            user.upwd = "111";
            dc.tbl_User.InsertOnSubmit(user);
            dc.SubmitChanges();

           int id = user.uid;
        }

 

int id = user.uid 这句话就能拿到刚刚插入的值!这么神奇,为什么呢?

 

1 首先我们在数据库中对uid设置的时候,就设置它为主键,然后为表示列,自增长,种子是1,增长量是1等。

2 那么我们把数据表拖到VS上来,我们不只要会拖,还要会看。

 

[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_uid", AutoSync=AutoSync.OnInsert,DbType="Int NOT NULL IDENTITY",IsPrimaryKey=true,IsDbGenerated=true)]
  public int uid
  {
   get
   {
    return this._uid;
   }
   set
   {
    if ((this._uid != value))
    {
     this.OnuidChanging(value);
     this.SendPropertyChanging();
     this._uid = value;
     this.SendPropertyChanged("uid");
     this.OnuidChanged();
    }
   }
  }

 

AutoSync=AutoSync.OnInsert 表示在插入式自动同步,

IsDbGenerated表示是数据库自动生成的值。

这样才能那么神奇!懂了吧。

 

我们当然也可以通过可视化视图来设置这些属性。

 

 

如果是纯sql获得这个id就复杂一点,请参看本博客另一篇:

《Sql Server中如何取得刚刚插入的自增长的id值》

http://blog.sina.com.cn/s/blog_67aaf4440100w7ns.html

 

目录
相关文章
|
8天前
|
SQL 关系型数据库 MySQL
go 通过sql操作mysql
go 通过sql操作mysql
11 1
|
12天前
|
SQL Cloud Native 关系型数据库
云原生数据仓库AnalyticDB操作报错合集之执行sql的进程报错:"unknown connection id",是什么导致的
阿里云AnalyticDB提供了全面的数据导入、查询分析、数据管理、运维监控等功能,并通过扩展功能支持与AI平台集成、跨地域复制与联邦查询等高级应用场景,为企业构建实时、高效、可扩展的数据仓库解决方案。以下是对AnalyticDB产品使用合集的概述,包括数据导入、查询分析、数据管理、运维监控、扩展功能等方面。
739 3
|
12天前
|
SQL 分布式计算 DataWorks
DataWorks操作报错合集之在执行SQL时,出现了权限问题。错误代码为odps-0433121,是什么导致的
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
13天前
|
SQL 弹性计算 分布式计算
实时数仓 Hologres操作报错合集之在执行SQL查询时遇到了问题,报错原因是“Invalid index column id: 2”,该怎么处理
在使用阿里云实时数仓Hologres时,可能会遇到不同类型的错误。例如:1.内存超限错误、2.字符串缓冲区扩大错误、3.分区导入错误、4.外部表访问错误、5.服务未开通或权限问题、6.数据类型范围错误,下面是一些常见错误案例及可能的原因与解决策略的概览。
|
16天前
|
SQL 存储 关系型数据库
MySQL数据库——SQL(1)-SQL通用语法、SQL分类、DDL(数据库操作、表操作)
MySQL数据库——SQL(1)-SQL通用语法、SQL分类、DDL(数据库操作、表操作)
21 1
|
1天前
|
SQL Java 数据库连接
【MyBatis】MyBatis操作数据库(二):动态SQL、#{}与${}的区别
【MyBatis】MyBatis操作数据库(二):动态SQL、#{}与${}的区别
7 0
|
5天前
|
SQL 关系型数据库 数据库
实时计算 Flink版操作报错合集之在本地执行代码没有问题,但是在线执行sql命令就会报错,该怎么办
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
5天前
|
SQL 关系型数据库 MySQL
实时计算 Flink版操作报错合集之在执行SQL语句时遇到了类找不到,该怎么解决
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
linq2sql代码大全
虽然linq2sql 不是什么新技术,但是这个ppt附带的例子我花了2周时间来准备 覆盖了linq2sql使用/特性的方方面面,可以算是一个例子大全,提供给大家作为学习的材料     Training ii:linq2sql View more presentations from powerzhuye.
698 0
|
4天前
|
SQL IDE Java
Java连接SQL Server数据库的详细操作流程
Java连接SQL Server数据库的详细操作流程