今天在开源中国看到Dos.ORM,也听说不少人在用,所以就像学一下,但是却遇到很多问题。
1,Dos.orm怎么用?
首先在项目文件中引用Dos.orm,一般从Nuget中直接获得。
2,为什么网上的很多文章看不懂?
笔者今晚琢磨了一晚上发现,DOs.orm 在代码实现中用到了实体,也就是说用到了代码生成器。只能从网上下载代码生成器,其实下载的一个项目文件,执行项目文件的时候来生成对应库中的表的代码。但是在链接数据库的时候又遇到了第三个问题。
3,数据库为什么连不上?
我看到在代码生成器的项目中,只有SqlServer2005的版本,也就是说还不支持2008(这一点不确定,只是我的数据库是2008,无法连上),当我链接数据库2008时报错为“sysproperties 无效”,当我查找为什么出现这个问题时发现,sysproperties 为一个数据库内部的视图,在SqlServer2005以后微软就把它给删了,在2008中用其他视图替代。
所以我只能在库中新建这个视图,代码如下:
if exists (select 1 from sysobjects where name = 'sysproperties'and xtype = 'V')
begin
DROP VIEW sysproperties
end
GO
CREATE VIEW sysproperties
AS
SELECT class AS id,Minor_id AS sMallid,* from sys.extended_properties
这样新建了这个视图,就可以生成代码了。
生成的代码拷贝到原来自己的项目中,放到专门的类库中,然后在项目的代码中调用相应的数据库操作代码。
网上一般的代码多数为这一种:
public
class
DB
{
public
static
readonly
DbSession Context =
new
DbSession(
"DosConn"
);
}
|
1
|
var list = DB.Context.From<Dos.Model.TableName>().ToList();
|