使用实体框架在 C# 中嵌入 Firebird 数据库

问题描述 投票:0回答:1

Firebird数据库可以像SQLite一样以嵌入式模式使用吗?在 SQLite 中使用实体框架时,如果我在连接字符串(example.db)中写入数据库名称,那么当我运行它时,会在 bin 文件夹中打开一个新数据库。我可以用同样的方式使用 Firebird 吗?

或者是否有其他方法可以在不安装其服务器的情况下使用 Firebird。

c# entity-framework firebird firebird-embedded firebird-.net-provider
1个回答
2
投票

是的,您可以将 Firebird Embedded 与 FirebirdSql.Data.FirebirdClient 结合使用。在连接字符串中,您必须指定

ServerType=1
(或通过代码配置时为
ServerType = FbServerType.Embedded
),并且仅指定数据库的路径(无主机名)。

但是,为了能够做到这一点,您必须在您的项目中包含 Firebird Embedded 所需的所有二进制文件您自己(或者确保在运行应用程序时它位于

PATH
上)。

也就是说,当您部署应用程序时,包含应用程序的目录必须包含

fbclient.dll
plugins\engine13.dll
(Firebird 4.0、Firebird 3.0 为
engine12.dll
)以及所有必需的支持文件,或者包含这些文件的目录必须位于
PATH

最简单的形式是,您可以通过从 Firebird 4.0 下载页面 下载适当位数的 Firebird 4.0 zipkit 来获取这些文件。您可以选择删除所有 .exe 和 .bat 文件、

security4.fdb
和目录
doc
examples
help
include
lib
misc
system32
,尽管这仍然留下一些并非绝对必要的文件。

您可能还想阅读在 .NET 中连接到嵌入 C# 的 Firebird 3 的问题

总之是可以的,但是不像SQLite部署那么简单。

© www.soinside.com 2019 - 2024. All rights reserved.