按照教程创建了一个 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. 【Linux】linux rinetd 端口转发部署

    linux下简单好用的工具rinetd,实现端口映射/转发/重定向 Rinetd是为在一个Unix和Linux操作系统中为重定向传输控制协议(TCP)连接的一个工具.Rinetd是单一过程的服务器,它 ...

  2. 【Linux】NFS搭建及使用详解

    环境:CentOS release 6.8 server  192.168.25.100 client1 192.168.25.101 client2 192.168.25.102 1.服务端操作 1 ...

  3. Sqli - Labs 靶场笔记(一)

    Less - 1: 页面: URL: http://127.0.0.1/sqli-labs-master/Less-1/ 测试: 1.回显正常,说明不是数字型注入, http://127.0.0.1/ ...

  4. 国内最具影响力科技创投媒体36Kr的容器化之路

    本文由1月19日晚36Kr运维开发工程师田翰明在Rancher技术交流群的技术分享整理而成.微信搜索rancher2,添加Rancher小助手为好友,加入技术群,实时参加下一次分享~ 田翰明,36Kr ...

  5. wmic process进程管理

    process    进程管理工具 示例:1.列举当前的进程.进程路径.命令行.进程ID.父进程ID.线程数,内存使用::wmic process get name,executablepath,co ...

  6. pandas DataFrame的新增行列,修改、删除、筛选、判断元素以及转置操作

    1)指定行索引和列索引标签 index 属性可以指定 DataFrame 结构中的索引数组,  columns 属性可以指定包含列名称的行, 而使用 name 属性,通过对一个 DataFrame 实 ...

  7. Java中,那些关于String和字符串常量池你不得不知道的东西

    老套的笔试题 在一些老套的笔试题中,会要你判断s1==s2为false还是true,s1.equals(s2)为false还是true. String s1 = new String("xy ...

  8. Linux安装Oracle数据库SQLPlus客户端

    安装 RPM包下载地址:https://www.oracle.com/database/technologies/instant-client/linux-x86-64-downloads.html ...

  9. (转载)微软数据挖掘算法:Microsoft 决策树分析算法(1)

    微软数据挖掘算法:Microsoft 目录篇 介绍: Microsoft 决策树算法是分类和回归算法,用于对离散和连续属性进行预测性建模. 对于离散属性,该算法根据数据集中输入列之间的关系进行预测. ...

  10. http 和 https 有何区别?如何灵活使用?

    http是HTTP协议运行在TCP之上.所有传输的内容都是明文,客户端和服务器端都无法验证对方的身份. https是HTTP运行在SSL/TLS之上,SSL/TLS运行在TCP之上.所有传输的内容都经 ...