请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

思考题回答

1. 什么是业务?

实际项目中,面对的事物实际运转的规律,要被反映到软件系统中的东西。

2. 模型是什么?我们应该如何建模?

模型是不同人从不同角度观察事物,然后抽象出的事物描述。根据我们要处理的问题,提取出我们要关注的事物的特点,进行建模。

3. 什么是 Repository Patten(仓库模式)?

仓库模式是一种数据持久化的设计模式。让程序员只关注数据之间的关系就可以操作数据库。

4. 什么是Entity Framework?

EF是一款数据管理框架。

5. 如何通过docker启动Sql Server和/或MySql?

(1)先安装 docker。
(2)然后 docker pull microsoft/mssql-server-linux 拉取镜像。
(3)然后 docker run -e “ACCEPT_EULA=Y” -e “SA_PASSWORD=PaSSword12!” -p 1433:1433 -d microsoft/mssql-server-linux 启动一个容器。
(4)然后就可以连接这个数据库了。

6. 如何通过Model First来创建、更新数据库?

(1)通过 nuget 安装 Microsoft.EntityFrameworkCore、Microsoft.EntityFrameworkCore.SqlServer。
(2)然后 创建 Model :TouristRoute 和 TouristRoutePicture,其中添加了 [Key]、[Required]、[MaxLength(100)] 等标记。
(3)准备与 Model 对应的 json 文件。
(4)AppDbContext 文件:

    public class AppDbContext : DbContext
    {
        public AppDbContext(DbContextOptions<AppDbContext> options)
            : base(options)
        {

        }

        public DbSet<TouristRoute> TouristRoutes { get; set; }
        public DbSet<TouristRoutePicture> TouristRoutePictures { get; set; }

        protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
            var touristRoutesMockData = File.ReadAllText(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location)
                + @"/Database/touristRoutesMockData.json");
            IList<TouristRoute> touristRoutes = JsonConvert.DeserializeObject<IList<TouristRoute>>(touristRoutesMockData);
            modelBuilder.Entity<TouristRoute>().HasData(touristRoutes);

            var touristRoutePicturesMockData = File.ReadAllText(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location)
                + @"/Database/touristRoutePicturesMockData.json");
            IList<TouristRoutePicture> touristRoutePictures = JsonConvert.DeserializeObject<IList<TouristRoutePicture>>(touristRoutePicturesMockData);
            modelBuilder.Entity<TouristRoutePicture>().HasData(touristRoutePictures);

            base.OnModelCreating(modelBuilder);
        }
    }

(5)使用命令:
dotnet ef migrations add xxxxxx
dotnet ef database update
(6)注意要保存好 Migrations 文件夹中迁移数据的 cs 文件

正在回答 回答被采纳积分+3

1回答

阿莱克斯刘 2021-08-20 03:13:46

 答案正确无误!

0 回复 有任何疑惑可以回复我~
  • 数据持久化 是什么意思?(*/ω\*)
    回复 有任何疑惑可以回复我~ 2021-12-11 10:22:29
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号