我想编写一个使用DBMS的新应用程序。在本应用程序的设计阶段,权衡选项,我发现将有大量的数据库访问,这意味着许多查询。开发此系统时我最担心的是代码中散布的SQL select,update和delete语句的难以处理的特性。 Linq之外是否有任何语言语法扩展(或脚本语言)(我不喜欢因为语法难以理解)今天可用?我很熟悉Progress ABL(他们的4GL无论如何)用于开发,我喜欢它的语法,但是它的部署模型和我的应用程序类型的依赖性是沉重和昂贵的。
我要求的系统必须与PHP或C#兼容。
我正在考虑使用的数据库管理系统是SQLite,MySQL或MSSQL(Compact或Standard)。
答案 0 :(得分:2)
您可能需要考虑像nHibernate这样的ORM,无论是否使用LINQ都可以使用。
答案 1 :(得分:1)
只是不要在代码中分散SQL。写一个合适的模型层。
即使您没有使用MVC或ORM框架,使用经过验证的设计方法也会付出代价。只需编写存储在数据库中的概念对象列表,以及要对其执行的所有操作,并将所有函数写入单个文件(或每个概念对象的文件)。程序的其余部分不应该包含单个SQL命令,所有内容都应该使用该模型层完成。
答案 2 :(得分:0)
如果您使用的是c#,则可以使用类似Subsonic的内容进行数据库访问。它将处理您的数据访问,在很多情况下,您将能够避免在整个代码中编写SQL。
答案 3 :(得分:0)
任何数据库前端都会阻止你在你的代码中使用SQL,但仍然需要以某种方式进行数据访问,并且通常你最终得到了你对linq感到不满的专有垃圾。我之前使用过Hibernate,它是一个功能强大的java库,可以为您的数据库进行通信。如果您的任务很小,那么原始访问并不是一个坏主意,如果数据库有可能会改变,那么在您的代码中使用SQL会很糟糕。