• LINQ to SQL


    1.http://msdn2.microsoft.com/en-us/netframework/aa904594.aspx


    2.在使用LINQ to SQL前请添加System.Data.Linq.dll引用。


    3.在自定义数据实体类时,指定TableAttribute特性和ColumnAttribute特性需要导入System.Data.Linq.Mapping命名空间。当数据实体类中属性名称和数据库字段名称一致时,可以不指定字段名([Column(Name="字段名")]).


    4.DataContext类,通过LINQ表达式从数据库中获取信息的桥梁类。
    DataContext类使用示例:
    DataContext dc = new DataContext(connectionString);
    Table<Category> table = dc.GetTable<Category>();//返回类型也可是IQueryable<TEntity>(Table<TEntity>实现了IQueryable<TEntity>接口)
    gvlist.DataSource = table;
    gvlist.DataBind();

    5.LINQ to SQL不是将数据全部取出后在内存中通过LINQ表达式过滤,而是直接把LINQ表达式转换成相应的SQL语句。


    6.LINQ to SQL无法将LINQ表达式中带有自定义方法的where表达式转换成相应的SQL,所以如果在where表达式中有自定义方法,需将IQueryable<T>转换成IEnumerable<T>,然后再写where表达式。
    示例:
     DataContext dc = new DataContext(connectionString);
     Table<Category> table = dc.GetTable<Category>();
      IEnumerable<Category> matches = from c in table.AsEnumerable<Category>()
                                            where getCategory(c.CategoryID)
                                            select c;
      gvlist.DataSource = matches;
      gvlist.DataBind();

    ===============getCategory===============
    private bool getCategory(int id)
        {
            bool b = false;
            if (id > 1)
            {
                b = true;
            }
            return b;
        }
    7.为了避免延迟执行,可在数据层直接调用ToList<T>()或ToArray<T>()方法。

  • 相关阅读:
    如何快速提高编程能力
    Django线上部署实战教程之Nginx+Gunicorn+Django篇
    Navicat for MySQL远程连接报10038的错误
    DjangoBlog部署教程
    用windows下的Anaconda搭建Django虚拟环境
    基础类型及相关操作
    格式化输出编码问题!
    初识python!
    Java学习之多线程二
    Java学习之多线程一
  • 原文地址:https://www.cnblogs.com/zxhoo/p/1885778.html
Copyright © 2020-2023  润新知