我知道他們支持SQL CE。我認爲他們達到3.5?我剛剛下載CE 4.0,我想測試它在我的項目,但我不能讓它就在FluentNHibernate配置...FluentNHibernate是否支持SQL Server Compact Edition 4.0?
如果4.0支持:
我有什麼版本下載,並可以有人給我一個如何實現它的例子?
我知道他們支持SQL CE。我認爲他們達到3.5?我剛剛下載CE 4.0,我想測試它在我的項目,但我不能讓它就在FluentNHibernate配置...FluentNHibernate是否支持SQL Server Compact Edition 4.0?
如果4.0支持:
我有什麼版本下載,並可以有人給我一個如何實現它的例子?
FNH支持CE 4.0,嘗試這種配置:
var config = Fluently.Configure()
.Database(MsSqlCeConfiguration.Standard.ConnectionString("Data Source=DatabaseFileName.sdf"))
.Mappings(m =>
{
m.FluentMappings.AddFromAssembly(typeof(Entity).Assembly);
})
.BuildConfiguration();
組件與實體映射應通過AddFromAssembly添加。 DatabaseFileName.sdf是數據庫文件名的路徑和文件名。路徑可以是或絕對或相對於應用程序的工作目錄(Windows應用程序:System.AppDomain.CurrentDomain.BaseDirectory; Web應用程序:System.AppDomain.CurrentDomain.RelativeSearchPath)。
在FNH1.0,NH2.1和SQL Server CE 4.0上測試。
編輯: 數據庫文件必須由數據庫引擎創建:
using (var engine = new SqlCeEngine(connectionString))
{
engine.CreateDatabase();
}
這裏是CE 3.5的例子,但它應該CE 4.0以及工作:http://nhdatabasescopes.codeplex.com/SourceControl/changeset/view/f9e824a457e8#DatabaseScopes%2fMsSqlCeInFilePrivateScope.cs。
您是否使用Compact Edition ** 4.0 **測試了這個功能? – Nautic20 2011-05-02 16:02:20
在上面解釋的例子中,在您的文件系統中物理存儲的「DatabaseFileName.sdf」在哪裏?你在哪裏爲你的SQL Server CE放置了DLL? – Nautic20 2011-05-02 17:10:28
是的,它可以與CE 4.0一起使用。我的項目引用程序集放置在程序文件文件夾中(類似於c:\ Program Files \ Microsoft SQL Server Compact Edition \ v4.0 \) - 很可能不是XCOPY部署的最佳方式。複製本地必須設置爲真。數據庫文件在您的進程的基本目錄中創建 - System.AppDomain.CurrentDomain.BaseDirectory(Windows應用程序)或System.AppDomain.CurrentDomain.RelativeSearchPath(Web應用程序)。 – 2011-05-02 17:44:04