Trong giao diện điều khiển ứng dụng sau đây (Net core 2.0), các scaffold-dbcontext
tạo sau DbContext
AddDbContext được gọi với cấu hình, nhưng kiểu ngữ cảnh 'MyContext' chỉ khai báo một hàm tạo parameterless?
public partial class MyContext : DbContext
{
public virtual DbSet<Tables> Tables { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
if (!optionsBuilder.IsConfigured) { optionsBuilder.UseSqlServer(Program.Conn); }
}
protected override void OnModelCreating(ModelBuilder modelBuilder) { .... }
}
Trong Main() (static void Main(string[] args)
), đoạn code sau
var services = new ServiceCollection();
var conn = configuration.GetConnectionString("MySource");
services.AddDbContext<MyContext>(o => o.UseSqlServer(conn)); // Error
đã chạy sau lỗi thời gian?
AddDbContext được gọi với cấu hình, nhưng loại ngữ cảnh 'MyContext' chỉ khai báo một hàm tạo tham số. Điều này có nghĩa rằng cấu hình truyền cho AddDbContext sẽ không bao giờ được sử dụng
Cảm ơn. Tôi nghĩ rằng mã scaffolded mặc định không nên thay đổi. Tuy nhiên, bây giờ tôi có một vấn đề khác - Tôi không thể nhận được chuỗi kết nối, tôi đã đăng câu hỏi ở đây, https://stackoverflow.com/questions/45948141/configuration-getconnectionstringmyconn-got-null-value. – ca9163d9
Ngay bây giờ tôi không thể làm bài kiểm tra cuối cùng vì chuỗi kết nối rỗng, hãy để tôi cố gắng mã cứng chuỗi kết nối để kiểm tra .... Có, thay đổi hoạt động. Cảm ơn bạn. – ca9163d9
Lưu ý: đây là một phần lớp, do đó bạn nên thêm hàm tạo vào tệp thứ hai nếu bạn đang tự động tạo ngữ cảnh của mình –