C# 打开与本地DB asp.net MVC的连接
我试图打开一个到DB的连接,然后将一条记录插入表中。目前它只是一个简单的localDB,我已经研究了如何使用sqlclient名称空间方法打开连接C# 打开与本地DB asp.net MVC的连接,c#,asp.net-mvc,entity-framework,C#,Asp.net Mvc,Entity Framework,我试图打开一个到DB的连接,然后将一条记录插入表中。目前它只是一个简单的localDB,我已经研究了如何使用sqlclient名称空间方法打开连接 SqlConnection con = new SqlConnection("Data Source=(LocalDB)\\MSSQLLocalDB; AttachDbFilename=C:\\FILE\\PATH\\EXAMPLE\\TechMVCDB.mdf;Integrated Security=True; Connect Timeout=30
SqlConnection con = new SqlConnection("Data Source=(LocalDB)\\MSSQLLocalDB;
AttachDbFilename=C:\\FILE\\PATH\\EXAMPLE\\TechMVCDB.mdf;Integrated Security=True;
Connect Timeout=30");
我甚至不确定我的连接字符串是否正确,当您单击服务器资源管理器面板中的数据库时,我直接从连接字符串框中获得它。打开连接并执行select all语句后,我在代码中添加了一个断点:
SqlConnection con = new SqlConnection("Data Source=(LocalDB)\\MSSQLLocalDB;AttachDbFilename=C:\\FILE\\PATH\\EXAMPLE\\TechMVCDB.mdf;Integrated Security=True;Connect Timeout=30");
con.Open();
SqlCommand com = new SqlCommand();
com.Connection = con;
com.CommandText = "SELECT * FROM Table ORDER BY Id";
SqlDataReader rdr = com.ExecuteReader();
然后我得到这个错误“System.Data.SqlClient.SqlException:'关键字“Table.”附近的语法不正确。“Table仅仅是表的名称,它是否也将其作为关键字处理
在此之后,我将tablename更改为TechTester并再次运行它,它运行时没有任何错误,并且似乎获得了正确的字段数量4 id、序列、方向、时间,但似乎没有获得插入的测试数据
我还研究了实体框架的使用,并实现了它的最初部分,因此我有实体模型类设置,但仅此而已。这是我应该走的方向吗?如何访问实体数据库
我的问题是如何最好地使用C#打开asp.net-MVC中与本地数据库的连接?
表是其中之一。无论您使用什么(实体框架或直接ADO.net命令),都应该将连接字符串存储在应用程序的配置文件中。不要在源代码中硬编码。@Steve目前我只是在测试时硬编码,连接字符串看起来正确吗?始终添加“Database=LogicalNameForYourDB”以避免AttachDbFileName出现问题(尝试附加已附加的数据库或类似的东西)但是,如果要使用EF,则connectionstring有点不同,请参阅可能的副本