这是一些关于linq to sql零散的知识点,如果你要系统的学习linq to sql的知识,请看ScottGu的博客
  • Part 1: Introduction to LINQ to SQL
  • Part 2: Defining our Data Model Classes
  • Part 3: Querying our Database
  • Part 4: Updating our Database
  • Part 5: Binding UI using the ASP:LinqDataSource Control
  • Part 6: Retrieving Data Using Stored Procedures
  • Part 7: Updating our Database using Stored Procedures
  • ......
    linq to sql默认的CURD行为是linq表达式,如获取数据
    NorthwindDataContext northwind = new NorthwindDataContext();
    var product = from p in northwind.Products
                         where p.CategoryID == 1
                         select p;
    linq表达式会在运行时动态生成sql语句。
    linq to sql也对存储过程和自定义sql提供支持
    一、sp
    拖一个已写好的存储过程到设计面板的右边,linq to sql自动为我们生成与存储过程有相同名字的一个方面,这样我们可通过NorthwindDataContext实例调用,调用存储过程转化成调用一个实例方法了,太简单了。

    存储过程的返回值是一个自动生成的新的数据类型,命名规则是存储过程名+Result,当你拖动sp到设计器左边指定数据类型中,sp生成的方法的返回值就是这种类型的集合。返回结果集同样支持linq to sql的修改和删除操作。
    对于插入更新删除对sp的支持是这样的


    二、自定义sql

    NorthwindDataContext内置的ExecuteQuery提供了对查询的自定义sql的支持,你可像上面一样写查询sql,也可以返回自定义的对象。
    返回的结果集同样适用于linq to sql对对象的修改和删除操作

    对于修改和删除的自定义sql,用ExecuteCommand来执行


    不管是linq to sql表达式,还是sp,还是自定义sql,都对对象的更新,删除和规则验证有同样支持。

    posted on 2008-01-11 16:47  shore  阅读(993)  评论(1编辑  收藏  举报