将SQL放入ASP.NET应用程序的最佳位置是......?

时间:2011-02-14 08:53:07

标签: asp.net sql resources

我正在创建一个非常独立的ASP.NET应用程序,它将被推送到不同的主机,因此将包含一个嵌入式数据库引擎 - 我确实看过SQLite,但是它不能在中等信任下运行这可能是一个问题,所以看起来它必须是Microsoft SQL Server Compact Edition 4。

Microsoft SQL Server Compact Edition不支持存储过程,因此我想知道包含SQL代码的最佳位置在哪里,考虑到将来的编辑等。

到目前为止,我认为我的选项要么直接嵌入代码中作为String或Stringbuilder类型(对于高级查询可能会变得混乱),要么可能在存储在App_GlobalResources文件夹中的SQL文件中 - 第二个选项是某种东西我刚刚考虑过,但认为这对遏制和未来的编辑来说是一个非常好的选择 - 有没有人有任何其他建议?

问候,内森。

4 个答案:

答案 0 :(得分:2)

答案 1 :(得分:1)

您可以使用MS SQL Express。它是免费的,它有存储过程,但它有4GB的数据库大小限制(SQL Server Express 2008 R2增加到10 GB)。

有关详细信息,请参阅this

答案 2 :(得分:0)

我认为使用一些ORM工具或LINQ to SQL比存储本机SQL字符串更好。

答案 3 :(得分:0)

像其他人一样说ORM,实体框架或Linq to SQL可能比内联SQL更好,但是因为你的问题不是询问任何这些我建议将SQL文件存储为嵌入式资源。其他人已经提到了资源资源文件,但我觉得资源文件很难使用,而且你没有很好的IDE来开发。嵌入.SQL文件应该更容易进行版本控制,在Visual Studio中使用,允许您尽可能地将查询保持在数据访问组件中,并且难以在生产环境中进行一次更改。