我正在尝试在不使用EF Core的情况下创建ASP.NET Core Web API。相反,我想使用System.Data.SQLClient连接到SQL服务器,并使用普通的旧SQL进行查询。这就是说,我在确定如何建立连接时遇到了一些问题。我在网上发现了很多教程,介绍如何用EF做到这一点。但是,如果没有它,我感到有些困惑。如何在不使用EF的情况下连接到ASP.NET Core Web API中的数据库?
1
A
回答
4
你这样做完全一样的方式,你会在任何.NET应用程序:
using (var conn = new System.Data.SqlClient.SqlConnection(connectionString)) {
conn.Open();
using (var cmd = conn.CreateCommand()) {
cmd.CommandText = "SELECT 'hello world'";
using (var reader = cmd.ExecuteReader()) {
while (reader.Read()) {
...
}
}
}
}
你会发现,asp.net核心的某些部分需要EF,像身份声称的东西,所以你会需要处理您自己的身份验证,并且无法使用其安全属性等。我已经走了几条asp.net核心项目的这条路线,没有遗憾
0
您必须使用SqlConnection和SqlCommand类。从documentation
private static void CreateCommand(string queryString, string connectionString)
{
using (SqlConnection connection = new SqlConnection(
connectionString))
{
SqlCommand command = new SqlCommand(queryString, connection);
command.Connection.Open();
command.ExecuteNonQuery();
}
}
CreateCommand("insert into...", "[your connection string]");
的方法,另外,Dapper是用于访问数据一个不错的选择,是一个扩展的IDbConnection,所以你不必担心对象创建一个对象映射器。从短小的文稿
public class Dog
{
public int? Age { get; set; }
public Guid Id { get; set; }
public string Name { get; set; }
public float? Weight { get; set; }
public int IgnoredProperty { get { return 1; } }
}
var guid = Guid.NewGuid();
var dog = connection.Query<Dog>("select Age = @Age, Id = @Id", new { Age = (int?)null, Id = guid });
相关问题
- 1. 如何在不使用Entity Framework的情况下从.Net Core连接到SQL Server?
- 2. 如何在不连接到AddressBook的情况下使用ABPersonViewController
- 3. 如何在不知道数据库可用的情况下使用PDO连接到数据库
- 4. 如何在没有JNDI的情况下使用DataSource检索数据库连接?
- 5. 如何在不安装的情况下使用数据库?
- 6. 如何在不使用数据库的情况下登录
- 7. 在没有DSN的情况下使用Python连接到Sybase数据库?
- 8. 如何在不使用数据库的情况下在datagridview中显示数据
- 9. 是否可以在不连接数据库的情况下使用DbContext?
- 10. 如何在没有数据库的情况下使用ASP.NET标识
- 11. 如何在不使用WebSQL API的情况下创建sqlite数据库?
- 12. 如何通过ASP.NET Core中的“using”打开数据库连接?
- 13. 如何在不打开数据库的情况下测试SqlServer连接
- 14. 如何在不使用INNER JOIN的情况下连接表?
- 15. 在不使用库函数的情况下在C中连接字符串
- 16. 在不使用数据库的情况下存储数据android
- 17. 在不打开xampp的情况下将MySQL数据库连接到C#
- 18. 如何在不使用web代码的情况下在URL中发送数据?
- 19. ASP.NET 5 MAC CORE和EF 6类库中的连接字符串
- 20. 如何在这种情况下将连接请求保存到数据库
- 21. 在不使用ssh的情况下使用Ruby连接到共享主机上的数据库
- 22. ASP.Net Web API服务使用情况
- 23. 如何在没有紧密链接的数据库连接的情况下使用Crystal Reports?
- 24. 如何在不断开连接的情况下使用Node.js杀死MySQL查询?
- 25. 在没有数据库连接的情况下使用实体框架
- 26. 如何在不使用EF的情况下将上下文元数据添加到我的实体? [已解决]
- 27. 如何在没有Yii2配置文件的情况下连接数据库?
- 28. C#:如何在启用SSL的情况下连接到Active Directory?
- 29. 如何在运行时使用EF Core创建数据库表?
- 30. EF Core 1.1 - 如何在已应用迁移的情况下检查DbContext?
感谢您的回应,蒂姆。我更关心的是如何将其与Web API框架集成。我注意到Startup.cs中有一个Configure方法,但它似乎很大程度上依赖于依赖注入,而这正是我挣扎的地方。我对这种混乱表示歉意,我应该更清楚地知道这个问题有两个部分。 – toolshed
您是否问如何构建和添加一个服务到DI,这将是SqlConnection对象的工厂,以尝试匹配asp.net核心的DI模式?什么特别不适合你? – Tim
我的问题是我有一个现有的数据库,我只是想查询,并将结果推送到REST API。我从教程中了解到,我期望在'Startup.cs'的'ConfigureServices'方法中启动数据库连接,然后在控制器类中执行我的命令。我误解了这个范例是如何设计的? – toolshed