按照教程创建了一个 Blazor Server 项目
 
首页在启动时,从MenuService  获取菜谱列表
menus = await Mmservise.GetMenuAsync(DateTime.Now);
做组件时候,MenuService是这样写的
public class MenuService
{ public Task< List<Menu> > GetMenuAsync(DateTime startDate)
{ List<Menu> meuns = new List<Menu>();
string[] days = new string[] { "2021-02-06", "2021-02-07", "2021-02-08" };
var rng = new Random(); foreach (string daystr in days)
{
Menu a = new Menu { ID = Guid.NewGuid(), Name = "红烧鱼", MenuDay = Convert.ToDateTime(daystr), DefaultNamber = 1, Price = rng.Next(5, 30), Type = "午餐" };
Menu b = new Menu { ID = Guid.NewGuid(), Name = "大盘鸡", MenuDay = Convert.ToDateTime(daystr), DefaultNamber = 1, Price = rng.Next(5, 30), Type = "午餐" };
Menu c = new Menu { ID = Guid.NewGuid(), Name = "烤肉", MenuDay = Convert.ToDateTime(daystr), DefaultNamber = 1, Price = rng.Next(5, 30), Type = "午餐" };
Menu d = new Menu { ID = Guid.NewGuid(), Name = "油条豆浆", MenuDay = Convert.ToDateTime(daystr), DefaultNamber = 1, Price = rng.Next(5, 30), Type = "早餐" };
Menu e = new Menu { ID = Guid.NewGuid(), Name = "炸酱面", MenuDay = Convert.ToDateTime(daystr), DefaultNamber = 1, Price = rng.Next(5, 30), Type = "晚餐" }; meuns.Add(a);
meuns.Add(b);
meuns.Add(c);
meuns.Add(d);
meuns.Add(e);
} return Task.FromResult(meuns); }
}
 
在 陈超超 的教程里,是新建立了  WebAPI接口 给 APP 提供后台支持, 我想着既然已经是 Blazor Server 项目了,能不能直接在 Server 用 EF 呢。
 
尝试过程:
1) 创建 DbContext
public class BlazorApp0206Context: DbContext
{
public DbSet<Menu> Menus { get; set; } protected override void OnConfiguring(DbContextOptionsBuilder options)
=> options.UseSqlite("Data Source=BlazorApp0206.db");
}
 
2)迁移数据库
Install-Package Microsoft.EntityFrameworkCore.Tools
Add-Migration InitialCreate0209
Update-Database
 3)修改 MenuService
 
public class MenuService
{ public Task< List<Menu> > GetMenuAsync(DateTime startDate)
{
using (var db = new BlazorApp0206Context())
{
var meuns = db.Menus.ToList<Menu>();
return Task.FromResult(meuns);
}
}
}
}
 
4) 工作目录不一致 的问题,直接照抄文档:
运行 .NET Core 控制台应用时,Visual Studio 使用不一致的工作目录。 (请参阅 dotnet/project-system#3619)这会导致引发异常: 无此类表格:博客 。 更新工作目录:
右键单击项目,并选择“编辑项目文件”
在 TargetFramework 属性下方,添加以下内容:
XML
<StartWorkingDirectory>$(MSBuildProjectDirectory)</StartWorkingDirectory>
保存该文件
现在可以运行应用:
“调试”>“开始执行(不调试)”
 
最后来个截图
 
参考资料:
https://docs.microsoft.com/zh-cn/aspnet/core/blazor/blazor-server-ef-core?view=aspnetcore-5.0
https://docs.microsoft.com/zh-cn/ef/core/get-started/overview/first-app?tabs=visual-studio
https://www.cnblogs.com/MSReactor/p/14380219.html
 

在Blazor Server 项目中使用 EF Core Sqlite的更多相关文章

  1. [翻译 EF Core in Action 1.10] 应该在项目中使用EF Core吗?

    Entity Framework Core in Action Entityframework Core in action是 Jon P smith 所著的关于Entityframework Cor ...

  2. 万字长文,带你彻底理解EF Core5的运行机制,让你成为团队中的EF Core专家

    在EF Core 5中,有很多方式可以窥察工作流程中发生的事情,并与该信息进行交互.这些功能点包括日志记录,拦截,事件处理程序和一些超酷的最新出现的调试功能.EF团队甚至从Entity Framewo ...

  3. 在.NET Core类库中使用EF Core迁移数据库到SQL Server

    前言 如果大家刚使用EntityFramework Core作为ORM框架的话,想必都会遇到数据库迁移的一些问题. 起初我是在ASP.NET Core的Web项目中进行的,但后来发现放在此处并不是很合 ...

  4. ASP.NET Core 中使用EF Core 将实体映射到数据库表的方法(SQL Server)

    前段时间听过一个关于使用ASP.NET Core建立项目的视频.其中使用EF Core映射到数据库的部分是按部就班地学习.今天自己建立项目时,有些步骤已经有一些遗忘.所以写下这篇文章,顺便理清思路. ...

  5. 分享我们项目中基于EF事务机制的架构

    写在前面: 1. 本文中单元测试用到的数据库,在执行测试之前,会被清空,即使用空数据库. 2. 本文中的单元测试都是正确通过的. 要理解EF的事务机制,首先要理解这2个类:TransactionSco ...

  6. 分享我们项目中基于EF事务机制的架构 【转载】

    http://www.cnblogs.com/leotsai/p/how-to-use-entity-framework-transaction-scope.html 写在前面: 1. 本文中单元测试 ...

  7. 在ASP.NET Core中通过EF Core实现一个简单的全局过滤查询

    前言 不知道大家是否和我有同样的问题: 一般在数据库的设计阶段,会制定一些默认的规则,其中有一条硬性规定就是一定不要对任何表中的数据执行delete硬删除操作,因为每条数据对我们来说都是有用的,并且是 ...

  8. visual studio 项目中使用EF创建的数据库,后续更新数据库操作(生产已经部署,不能删除数据库重新创建)

    情景:SharePoint项目(其他类型的项目道理也一样),数据库是用EF(版本:6.0.0.0)创建的,生产环境已经使用,所以后续修改数据库,只能通过更新来实现. 下面是具体的操作方式: 1.vis ...

  9. 在Asp.Net Core 5 中使用EF Core连接MariaDB

    升级到Asp.Net Core 5,使用EF Core连接MariaDB,使用的Nuget包Pomelo.EntityFrameworkCore.MySql也升级到了5.0.0-alpha.2,然后发 ...

随机推荐

  1. innobackupex: Connecting to MySQL server with DSN 'dbi:mysql

    [root@ma src]# innobackupex --user=root /root/backup --no-timestamp InnoDB Backup Utility v1.5.1-xtr ...

  2. 转发:[服务器]SSL安装证书教程

    [服务器]SSL安装证书教程   来自阿里云教程 Tomcat服务器安装SSL证书 安装PFX格式证书 https://help.aliyun.com/document_detail/98576.ht ...

  3. kubectl工具管理应用

    kubectl工具管理应用 创建一个pod [root@k8s-master ~]# kubectl run nginx --replicas=3 --labels="app=nginx-e ...

  4. 开发中经常使用到的Xcode快捷键

    工欲善其事必先利其器. 有了这些快捷键加持,你写代码不仅很6而且还很好看. 这些快捷键都是平时使用频率非常高的,今天整理出来分享给大家了. 左缩进:Cmd + [ 右缩进:Cmd + ] 代码格式化/ ...

  5. 4、python+selenium实现12306模拟登录

    简介: 这里是利用了selenium+图片识别验证,来实现12306的模拟登录,中间也参考了好几个项目,实现了这个小demo,中间也遇到了很多的坑,主要难点在于图片识别和滑动验证这两个方面,图片识别是 ...

  6. Py-re正则模块,log模块,config模块,哈希加密

    9.re正则表达式模块,用于字符串的模糊匹配 元字符: 第一:点为通配符 用.表示匹配除了换行符以外的所有字符 import re res=re.findall('a..x','adsxwassxdd ...

  7. 温习数据算法—js滑块验证码

    前言 大多数的应用软件都需要输入一些验证码,验证码的样式也多种多样. 比如抢票,提交订单需要验证码,很多人就纳闷了,怎么还需要验证码呢?这不是浪费时间嘛. 存在即合理,合理就是现实的. 源码下载地址+ ...

  8. spring data JPA 使用EntityentiListeners实现数据审计功能设计

    当系统中有审计需求时,特别是需要对某些数据进行动态监控时,我们可以使用EntityentiListeners来实现,当然这是基于使用JPA而不是mybatis的情况下. 当前我们的需求场景: 1.需要 ...

  9. 报错:java.lang.ClassNotFoundException: io.opentracing.util.GlobalTracer

    报错:java.lang.ClassNotFoundException: io.opentracing.util.GlobalTracer 近来在做一个在线教育的项目,课程信息放在数据库,而视频放在阿 ...

  10. 重磅:保姆级Java技术图谱发布!够学到元宵节了,赶紧收藏!

    最近因为参与社群交流的时间比较多,除了唠唠白酒的嗑之外,很大一部分时间都是看到群里问到一些关于Spring Boot和Spring Cloud应用过程中碰到的问题以及一些开发过程中的报错信息.在这些帮 ...