本帖最后由 qq_25613869 于 2015-01-26 14:45:50 编辑

解决方案 »

  1.   

    你这个对比Linq to Sql 有啥优势?
      

  2.   

    Linq to Sql  现在没人用了吧。
    前面有家公司用,后来网站太慢,直接导致重做。
    听说这个实现的技术比Linq快多了。
    而且,附带数据库专业自动优化方案。
      

  3.   


    楼主用过 ServiceStack.OrmLite 这货也不错,而且多数据库支持的也相当不错。
      

  4.   

    SqlLambda软件1.1版本(.net与sql最优处理方式)
    举报
    价格
    ¥10000.00我X了还1W算了还是用ServiceStack.OrmLite 
      

  5.   

    这个是免费的,可以用的。
    我用了好久了。
    ServiceStack.OrmLite  好复杂啊
      

  6.   

    最新版的OrmLite支持参数化了吗?这坑大的不参数化坚决不用它
      

  7.   


    ServiceStack.OrmLite  怎么复杂。。很好用呀。我第一次用看他里面的DEMO就懂了 还支持自己写SQL 很方便
      

  8.   

    参数化是啥意思,没懂。
    你跟踪下ormlite生成的sql,你会发现where查询条件时ormlite是拼接字符串的方式,而不是用的参数化查询的方式比如
    Field Like '%A%'
    而不是
    Filed Like @Field
      

  9.   

    参数化是啥意思,没懂。
    你跟踪下ormlite生成的sql,你会发现where查询条件时ormlite是拼接字符串的方式,而不是用的参数化查询的方式比如
    Field Like '%A%'
    而不是
    Filed Like @Field这样呀,那新版的还是没有改,还是并接的,改成参数化的对他们的框架改动太大了。
      

  10.   

    参数化是啥意思,没懂。
    你跟踪下ormlite生成的sql,你会发现where查询条件时ormlite是拼接字符串的方式,而不是用的参数化查询的方式比如
    Field Like '%A%'
    而不是
    Filed Like @Field这样呀,那新版的还是没有改,还是并接的,改成参数化的对他们的框架改动太大了。所以我干脆就还是用dapper或者微软企业库(这都不能算orm)了
      

  11.   

    http://download.csdn.net/detail/qq_25613869/8398249
    这个地址更全面。完全支持参数化,不仅如此,还支持数据库系统函数,和Case,看参数化的例子:
      int iUser = 222;
      Sql.ExecuteNonQuery((a) =>
                Sub.Update(a).Set(a.UserName == "1231").From(a).Where(a.UserId == iUser)
      );
      

  12.   


    老大人家说的参数化不是这个。明白? 你这个     Sub.Update(a).Set(a.UserName == "1231").From(a).Where(a.UserId == iUser) 在低层也是把他变为SQL句子的并接吧。
      

  13.   

    参数化是啥意思,没懂。
    你跟踪下ormlite生成的sql,你会发现where查询条件时ormlite是拼接字符串的方式,而不是用的参数化查询的方式比如
    Field Like '%A%'
    而不是
    Filed Like @Field这样呀,那新版的还是没有改,还是并接的,改成参数化的对他们的框架改动太大了。
    你说的所以我干脆就还是用dapper或者微软企业库(这都不能算orm)了你说的DAPPer是这样子的使用?
    connection.Execute(@"insert MyTable(colA, colB) values (@a, @b)",
        new[]{new{ a=1, b=1},new{ a=2, b=2},new{ a=3, b=3}}
      ).IsEqualTo(3);// 3 rows inserted: "1,1", "2,2" and "3,3"var dog = connection.Query<Dog>("select Age = @Age, Id = @Id",new{Age=(int?)null,Id= guid });
    如果是这样子,ServiceStack.OrmLite  也有的呀 这种写法的,在底层他就是参数化的
                db.Delete(new Person { Id = 1, FirstName = "Jimi", LastName = "Hendrix", Age = 27 });
                Assert.That(db.GetLastSql(), Is.EqualTo("DELETE FROM \"Person\" WHERE \"Id\"=@Id AND \"FirstName\"=@FirstName AND \"LastName\"=@LastName AND \"Age\"=@Age"));
     db.Exists<Person>("Age = @age", new { age = 42 });
                Assert.That(db.GetLastSql(), Is.EqualTo("SELECT \"Id\", \"FirstName\", \"LastName\", \"Age\" FROM \"Person\" WHERE Age = @age"));
                db.Exists<Person>("SELECT * FROM Person WHERE Age = @age", new { age = 42 });
                Assert.That(db.GetLastSql(), Is.EqualTo("SELECT * FROM Person WHERE Age = @age"));
    像这样子他底层就是转参数化了
      

  14.   

    SqLamdalf 不是拼接字符串的那种低的,要不然我就不推荐了。
    支持参数化,更加优化,效率更高。
    http://download.csdn.net/detail/qq_25613869/8398249
    这个地址更全面。参数化是啥意思,没懂。
    你跟踪下ormlite生成的sql,你会发现where查询条件时ormlite是拼接字符串的方式,而不是用的参数化查询的方式比如
    Field Like '%A%'
    而不是
    Filed Like @Field这样呀,那新版的还是没有改,还是并接的,改成参数化的对他们的框架改动太大了。所以我干脆就还是用dapper或者微软企业库(这都不能算orm)了
      

  15.   


    老大人家说的参数化不是这个。明白? 你这个     Sub.Update(a).Set(a.UserName == "1231").From(a).Where(a.UserId == iUser) 在低层也是把他变为SQL句子的并接吧。
    不是得,自动识别参数化。
      

  16.   


    老大人家说的参数化不是这个。明白? 你这个     Sub.Update(a).Set(a.UserName == "1231").From(a).Where(a.UserId == iUser) 在低层也是把他变为SQL句子的并接吧。
    不是得,自动识别参数化。
    开源,哪个国家人写的?
      

  17.   

    我一直用PetaPoco,小巧轻便,性能高效
      

  18.   

    1.函数式编程,我喜欢
    2.效率会低,比如我没看到要求只取实体的某些属性值的指定,估计都是些select*吧
    3.如果这套库能屏蔽数据库差异,比如根据数据库是mss/ora分别生成select into和create as,应该是有适合的使用场景的
      

  19.   


    1,这样直接,方便。
    2,有的啊,除了默认的 select * 还有 var sdfsf123 = Sql.ExecuteList<Users>((a, b) =>
    Sub.Top(8).Select(a.UserId, a.UserName).From(a));
    效率非常快,里面并非是简单的那种拼接,是有数据库优化方面的东西,在里面。你多执行几次,速度会非常快的。
    3,是的,同样的代码,多个数据运行的,但是现在Oracle,和更多的数据库还没有推出。
      

  20.   


    这个还是不在一个级别上。
    SqLamdalf 已经是将数据库对象和.net对象完全结合,等效了。
    相当于,编写.net代码就是编写数据代码,而且,还能弥补通用,高效,自动优化的问题。
    phommy phommy 分析的很好,数据库差异应该是个重点
      

  21.   

    老大人家说的参数化不是这个。明白? 你这个     Sub.Update(a).Set(a.UserName == "1231").From(a).Where(a.UserId == iUser) 在低层也是把他变为SQL句子的并接吧。
    不是得,自动识别参数化。
    开源,哪个国家人写的?必然是世界人民中的一员,这点毋庸置疑的。
      

  22.   

    谈不上ORM吧,看不到" O "的概念,
    下载地址的文件有5M?为何这么大? 为何报毒呢
      

  23.   

    这玩意儿能好过 entity framework?
      

  24.   


    这你开玩笑了吧,
    那个操作能和这种直观的相比较吗。
    而且,这个是存储过程的效率。
    数据库对象和.net对象完全等效的。
      

  25.   


    这你开玩笑了吧,
    那个操作能和这种直观的相比较吗。
    而且,这个是存储过程的效率。
    数据库对象和.net对象完全等效的。
    呵呵