मैं डॉटनेटकोर और इकाई फ्रेमवर्क कोर के साथ एक प्रोजेक्ट बनाता हूं। मैं MySQL डेटाबेस का उपयोग करता हूं और मैंने SapientGuardian.EntityFrameworkCore.MySql
संस्करण 7.1.19
पर निर्भरता जोड़ा।EntityFramework Core Database.EnsureCreated डेटाबेस नहीं बनाता
public class SeedData
{
public static void Initialize(IServiceProvider serviceProvider)
{
using (MyDbContext context = new MyDbContext(serviceProvider.GetRequiredService<DbContextOptions<MyDbContext>>())) {
context.Database.EnsureCreated();
}
}
}
वर्ग बीज के कॉल:
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
// Other code
SeedData.Initialize(app.ApplicationServices);
}
और सेवा के विन्यास:
public void ConfigureServices(IServiceCollection services)
{
// Other code
// Add database
services.AddDbContext<MyDbContext>(options => {
options.UseMySQL(Configuration.GetConnectionString("DefaultConnection"));
});
services.AddScoped<Microsoft.EntityFrameworkCore.Infrastructure.IDbContextOptions, Microsoft.EntityFrameworkCore.DbContextOptions<MyDbContext>>();
}
जब मैं शुरू
मैं एक SeedData
वर्ग जहाँ मेरे डेटाबेस प्रारंभ बनाया प्रोजेक्ट मुझे EnsureCreate
कॉल पर अपवाद मिलता है। अपवाद संदेश Authentication failed
कहता है लेकिन यदि मैं मैन्युअल रूप से डेटाबेस (टेबल के बिना) बना देता हूं तो मेरा कनेक्शन स्ट्रिंग ठीक काम करता है और EnsureCreated
बस मेरी इकाइयों के लिए टेबल बनाते हैं।
क्या गलत है? यह SapientGuardian.EntityFrameworkCore.MySql
के साथ एक समस्या है?
एरिक्स्कंडोला, क्या आपने इसे हल किया है? –
@ जॉनस्मिथ, अभी तक – erikscandola
@erikscandola क्या आपके पास खाली डेटाबेस मौजूद है? – bravohex