剛開始接觸asp.net core,在學習的過程中遇到了一些小問題,在這里記錄一下!
在我們項目的開發過程中,肯定會和數據庫打交道,所以我嘗試了一下用asp.net core鏈接數據庫,並讀取表中的數據(當然你必須保證有能訪問的sql server數據庫)!
首先,新建項目:ASP.NET Core Web應用程序
點擊“確定”,然后選擇API,當然你也可以選擇其他類型
接下來,就開始我們的代碼旅程了:
在"appsettings.json"中配置數據庫鏈接字符串,代碼段如下:
{ "ConnectionStrings": { "SQLConnection": "Server=.;Database=CustomerDB;Trusted_Connection=True;" }, "Logging": { "LogLevel": { "Default": "Warning" } }, "AllowedHosts": "*" }
創建User對象,代碼段如下:
public class User { public int ID { get; set; } public string UserName { get; set; } public string Password { get; set; } }
創建DbContext,代碼段如下:
public partial class CustomerDBContext : DbContext { public CustomerDBContext(DbContextOptions<CustomerDBContext> options) : base(options) { } public DbSet<User> User { get; set; } }
接下來創建控制器,在這里我選擇的是MVC控制器:
[Route("api/[controller]")] [ApiController] public class UserController : Controller { private readonly CustomerDBContext _context; public UserController(CustomerDBContext context) { _context = context; } // GET: Users [HttpGet] public ActionResult<string> Index() { return (_context.User.ToList())[0].UserName; } }
當然,還需要在Startup.cs中添加訪問配置:
public void ConfigureServices(IServiceCollection services) { services.AddDbContext<CustomerDBContext>(options=>options.UseSqlServer(Configuration.GetConnectionString("SQLConnection"))); services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1); }
啟動程序,輸入你的控制器地址就行了:
在這個過程中遇見了一點問題,困擾了我挺久的,不過最后解決了
后來找到了原因:
public DbSet<User> User { get; set; }這段代碼之前我是這樣寫的
public DbSet<User> Users { get; set; },而我數據庫中的表名是User
所以一直都無法讀取到表!希望以后遇到這樣的問題不會再犯