Sqlite ASP.NET MVC 2嵌入式数据库

Sqlite ASP.NET MVC 2嵌入式数据库,sqlite,asp.net-mvc-2,embedded-database,Sqlite,Asp.net Mvc 2,Embedded Database,我正在建立一个非常小的临时网站,需要一个小的支持商店。我已经在ASP.NETMVC2中构建了它,并希望使用DiscountASP作为主机—尽管这不是必需的 我想要一个支持存储,它将与ASP.NET MVC 2、VS2010 Express、启用LINQ(或EF)一起工作,并且在共享主机上不需要进一步收费 根据我的调查,SQLCE3.5在.NET4中不起作用 SQLCE4是唯一的CTP,在VS2010中不起作用 SQlite没有任何.NET4.0驱动程序 我说得对吗?有没有好的教程或博客,展示了如

我正在建立一个非常小的临时网站,需要一个小的支持商店。我已经在ASP.NETMVC2中构建了它,并希望使用DiscountASP作为主机—尽管这不是必需的

我想要一个支持存储,它将与ASP.NET MVC 2、VS2010 Express、启用LINQ(或EF)一起工作,并且在共享主机上不需要进一步收费

根据我的调查,SQLCE3.5在.NET4中不起作用 SQLCE4是唯一的CTP,在VS2010中不起作用 SQlite没有任何.NET4.0驱动程序

我说得对吗?有没有好的教程或博客,展示了如何一步一步地工作

谢谢,
Mark

我不是ASP专家,但你听说过Firebird SQL吗?数据库引擎,具有客户机/服务器或嵌入式版本,完全具有事务等功能,并具有ADO.NET提供程序

。以下是关于.NET中嵌入式数据库的其他一些非常类似的问题:


不,甚至不要考虑使用内嵌在ASP.NET中的firebird

这是严格禁止的

以下是Firbird网站上的参考资料,告诉您要避免:

是否可以在我的ASP.NET应用程序中使用嵌入式Firebird?

对。但是Firebird ADO.NET会在应用程序工作目录中查找fbembed.dll文件。对于ASP.NET应用程序,工作目录是系统文件夹(例如C:\WINDOWS\System32)。但也不是没有问题

在同一网站的另一页上:

ASP.NET使用了一项功能,帮助防止编写糟糕的ASP.NET应用程序阻塞整个服务器—它定期回收ASP.NET工作进程。默认情况下,IIS6使用重叠回收,在旧流程停止之前启动新流程,以确保不间断运行。问题是fbembed.dll以独占方式锁定所有者进程的数据库,因此如果同时运行另一个进程,则在第一个进程停止之前将无法访问该数据库。你可能想接受这一点,但这并不是一个最佳的解决方案

解决方案是关闭重叠循环(通过将DisallowOverlappingRotation元数据库属性设置为true)。但是,这可能会导致应用程序在回收期间中断

结论


不要那样做;-)。实际上,fbembed.dll**并不是为处理此类使用而构建的。您可以让它工作,但这只是一个黑客行为。

SQLite在.net 4.0上确实可以工作。您能告诉我如何让它工作吗?请参阅