从C#项目中的SQL项目获取数据库信息

从C#项目中的SQL项目获取数据库信息,c#,sql,sql-server,database,C#,Sql,Sql Server,Database,我在Visual Studio 2013中使用一种解决方案(MySolution) 从面向对象的角度来看,我将一个项目(MyCProject)中域层的C代码与放置在特定SQL Server数据库项目(MySQLProject)中的主数据库分开 两个项目共享相同的命名空间,存储在相同的MySolution解决方案中 如何访问myqlproject中的myqlproject中的表数据? 这些表存储在MySQLProject项目中,但不存储在同样安装在机器上的SQL Server Express数据库

我在Visual Studio 2013中使用一种解决方案(
MySolution

从面向对象的角度来看,我将一个项目(
MyCProject
)中域层的C代码与放置在特定SQL Server数据库项目(
MySQLProject
)中的主数据库分开

两个项目共享相同的命名空间,存储在相同的
MySolution
解决方案中

如何访问
myqlproject
中的
myqlproject
中的表数据?

这些表存储在
MySQLProject
项目中,但不存储在同样安装在机器上的SQL Server Express数据库服务器中,这会影响可访问性吗


最后,也许我没有提到一些相关的信息,所以如果有人能帮助我,我会非常高兴,如果答案可以像一个步行信息表一样详细一点。因为我不知道哪些信息与写入相关,所以可以以最佳方式解决问题。

如果要存储数据,则需要通过“构建”菜单“发布”MySQLProject数据库项目。数据存储在数据库中,而不是Visual Studio项目中。为了测试任何应用程序功能,您必须将其发布到SQL Server Express数据库


仅供参考,根据对该问题的评论,关于数据库项目的目的,似乎存在一些混乱,我将说:

  • 数据库项目不用于数据库访问,而是用于定义数据库对象
  • 如果创建数据库项目的目标是能够定义表和存储过程等,并能够轻松发布和验证它们等,那么这是一种合适的用法
  • 如果创建数据库项目的目标是分离数据访问层,那么这是行不通的。数据库项目不便于访问数据。有几种不同的数据访问方式(Entity Framework/DataAdapters/SqlCommand+SqlDataReader),它们都不需要单独的项目

您是否使用ORM工具(例如EntityFramework)将SQL表映射到C#entities?我刚刚设置了这两个项目,所以没有使用EntityFramework。对于简单的解决方案,你有什么建议?EF可能是这场追逐中唯一相关的工具吗?或者存在更简单的解决方案吗?你能在你的MySqlProject中添加一个类的例子吗?你说存储在MySQLProject中的表是什么意思,但是,如果您想在SQL Server Express中存储所需的任何内容,请不要在SQL Server Express数据库服务器中使用这些表。c#中有大量可用的ORM工具,因此在不了解项目要求的情况下,推荐一种工具是没有意义的。这是一份清单。从3.5 SP1开始,Entity Framework就包含在.NET Framework中,并且会有很多支持材料,因此在MySQLProject中它可能是一个不错的起点。我已经创建了一个以.sql结尾的表。还有一个以.refactoring结尾的文件。对于SQL Express,我的意思是表(以.SQL结尾)不存储在SQL Server Express服务器中,表只存储在SQL数据库项目中。因此,这些表不是SQL Express服务器中数据库的一部分。我应该对C#项目使用ADO.NET实体数据模型并访问那里的表吗?您好srutzky-非常感谢您的回答。您告诉我“添加数据库引用”-但在MyCProject中这是不可能的。但是在MySQLProject中,可以添加数据库引用。那么我应该怎么做,我应该使用EntityFramework还是ADO.NET?@Sandri我之前肯定在使用数据库项目。我现在看到非数据库项目没有“添加数据库引用”选项。我已更新我的答案以删除该信息。那么,你想做什么?您是想为数据库建模还是创建数据访问层?是的,我或多或少都在创建数据访问层-有什么更好的方法可以做到这一点?@Sandri这是一个优先选择的问题。很多人似乎喜欢实体框架,因为它可以为您处理大部分(有时是全部)SQL。我主要是一名数据库开发人员,所以在编写自己的SQL和使用存储过程时,我更喜欢常规的ADO.NET SqlCommand/SqlDataReader。