怪物奇妙物语

宇宙无敌超级美少男的怪物奇妙物语

首页 新随笔 联系 管理
  819 随笔 :: 0 文章 :: 2 评论 :: 16万 阅读

SeedData 怎么写 数据库上下文 怎么拿到

依赖注入

builder.Services.AddDbContext<BlazorMovieContext>(options =>
options.UseSqlServer(
builder.Configuration.GetConnectionString("RazorPagesMovieContext")
?? throw new InvalidOperationException(
"Connection string 'RazorPagesMovieContext' not found."
)
)
);

DbContext

public class BlazorMovieContext : DbContext
{
public BlazorMovieContext(DbContextOptions<BlazorMovieContext> options)
: base(options) { }
public DbSet<BlazorMovie.Models.Movie> Movie { get; set; } = default!;
}

手动拿到数据库上下文

// 👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇
using var context = new BlazorMovieContext(serviceProvider.GetRequiredService<DbContextOptions<BlazorMovieContext>>());

SeedData.cs

public static class SeedData
{
public static void Initialize(IServiceProvider serviceProvider)
{
using var context = new BlazorMovieContext(
serviceProvider.GetRequiredService<DbContextOptions<BlazorMovieContext>>()
);
if (context == null || context.Movie == null)
{
throw new ArgumentNullException("Null RazorPagesMovieContext");
}
// Look for any movies.
if (context.Movie.Any())
{
return; // DB has been seeded
}
context.Movie.AddRange(
new Movie
{
Title = "When Harry Met Sally",
ReleaseDate = DateOnly.Parse("1989-2-12"),
Genre = "Romantic Comedy",
Price = 7.99M
},
new Movie
{
Title = "Ghostbusters ",
ReleaseDate = DateOnly.Parse("1984-3-13"),
Genre = "Comedy",
Price = 8.99M
},
new Movie
{
Title = "Ghostbusters 2",
ReleaseDate = DateOnly.Parse("1986-2-23"),
Genre = "Comedy",
Price = 9.99M
},
new Movie
{
Title = "Rio Bravo",
ReleaseDate = DateOnly.Parse("1959-4-15"),
Genre = "Western",
Price = 3.99M
}
);
context.SaveChanges();
}
}
posted on   超级无敌美少男战士  阅读(4)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 推荐几款开源且免费的 .NET MAUI 组件库
· 实操Deepseek接入个人知识库
· 易语言 —— 开山篇
· Trae初体验
历史上的今天:
2022-11-27 todolist 外观模式
点击右上角即可分享
微信分享提示