2009-09-21 61 views
1

希望这是一个愚蠢的问题,有的确是一个简单的解决方案在某处,但是......DbLinq和Mono 2.4:一起工作?

有没有人成功地得到了对的DBLinq和Mono 2.4在Mac OS X 10.5发挥很好?

我已经准备好了SQLite数据库,但对于我的生活,我找不到sqlmetal来生成我的对象。

我猜我可能不得不下载包含sqlmetal的Mono的先前版本,构建并安装它,然后仅使用Mono 2.4上的该版本生成的代码...但我希望避免它不惜一切代价。

回答

2

在这种情况下使用预编译的二进制文件不起作用。

为了获得正确生成的DbLinq数据层,您必须使用Mono附带的sqlmetal工具(但显然不适用于OS X的预编译二进制文件)。您必须拉下Mono主干(以及所有依赖项)并从源代码构建Mono。

从源代码构建并安装Mono后,您应该拥有sqlmetal工具。一旦生成代码,就像包含生成的* .cs文件和导入Mono.Data.Sqlite一样简单。

1

单声道2.6将首次与单声道预览DbLinq。如果您将DbLinq与您当前的Mono设置并行安装,那么今天就可以旋转。

+0

@Miguel - 感谢您的回复。我确实有DbLinq与Mono一起搭建和安装。我从OS X的预编译二进制文件中安装了Mono,但无法找到sqlmetal来生成我的数据访问代码。我尝试从DbLinq编译DbMetal,但无法使其工作。最后,我下载了Mono主干...而我目前正在等待构建。 – 2009-09-24 01:47:50

3

我会避免在生产代码中使用DBLinq ......许多Linq-to-SQL的功能未实现,并且遍历源代码显示成熟度较低......许多方法都不是实施或标记为“未终止”。

......你已被警告!

+0

任何其他建议一起使用SQLite,Linq和Mono?我愿意选择。 – 2009-11-05 14:15:26

+1

+1 @Mark。我们发现了一些可怕的错误,DbLinq会编译和执行一个Linq表达式,但结果完全错误。对于任何使用GroupBy的情况尤其如此。如果引擎简单地抛出了一个IDontDoGroupBy异常,它会更加可口。 – 2010-04-13 22:23:53