在.NET Core中使用MySQL5.7的JSON类型字段

Getting Started

① Adding pomelo myget feed into your NuGet.config which located in your solution root.

<?xml version="1.0" encoding="utf-8"?><configuration><packageSources><add key="nuget.org" value="https://www.nuget.org/api/v2/" /><add key="Pomelo" value="https://www.myget.org/F/pomelo/api/v2/" /></packageSources><disabledPackageSources /></configuration>

② Add Pomelo.Data.MySql and Pomelo.EntityFrameworkCore.MySql into your project.json. The versions of them are 1.0.0.

③ If you have already installed the pomelo packages: Pomelo.Data.MySql and Pomelo.EntityFrameworkCore.MySql, please remove them and restore again(dotnet restore --no-cache).  The packages are located in C:\Users\YOURNAME\.nuget\packages.

④ To define json field in model with System.JsonObject<T> will store this field as a json column.

Sample

using System;

using System.Linq;

using System.ComponentModel.DataAnnotations;

using System.ComponentModel.DataAnnotations.Schema;

using Microsoft.EntityFrameworkCore;


namespace MySqlTest

{

    public class Blog

    {

        public Guid Id { get; set; }


        [MaxLength(32)]

        public string Title { get; set; }


        public string Content { get; set; }


        public JsonObject<string[]> Tags { get; set; } // Json storage

    }


    public class MyContext : DbContext

    {

        public DbSet<Blog> Blogs { get; set; }


        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)

            => optionsBuilder

                .UseMySql(@"Server=localhost;database=ef;uid=root;pwd=19931101;");

    }


    public class Program

    {

        public static void Main()

        {

            using (var context = new MyContext())

            {

                // Create database

                context.Database.EnsureCreated();


                // Init sample data

                var blog1 = new Blog {

                    Title = "Title #1",

                    Tags = new string[] { "ASP.NET Core", "MySQL", "Pomelo" }

                };

                context.Add(blog1);

                var blog2 = new Blog

                {

                    Title = "Title #2",

                    Tags = new string[] { "ASP.NET Core", "MySQL" }

                };

                context.Add(blog2);

                context.SaveChanges();


                // Detect changes test

                blog1.Title = "Changed Title #1";

                context.SaveChanges();


                // Output data

                var ret = context.Blogs

                    .Where(x => x.Tags.Object.Contains("Pomelo"))

                    .ToList();

                foreach (var x in ret)

                {

                    Console.WriteLine($"{ x.Id } { x.Title }");

                    Console.Write("[Tags]: ");

                    foreach(var y in x.Tags.Object)

                        Console.Write(y + " ");

                    Console.WriteLine();

                }

            }


            Console.Read();

        }

    }

}

For discussion, you can comment on https://github.com/PomeloFoundation/Pomelo.EntityFrameworkCore.MySql/issues/14


相关文章:

  • 全球首发免费的MySql for Entity Framework Core

  • .NET Core 使用Dapper 操作MySQL

原文地址:http://www.1234.sh/post/use-json-field-type-in-net-core


.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/328906.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

中南大学计算机网.doc,中南大学计算机网络实验报告.doc

计算机网络实验报告0909122820周建权第第 PAGE \* MERGEFORMAT 1 页 共 NUMPAGES \* MERGEFORMAT 11 页计算机网络实验报告专业班级&#xff1a;信安1202班指导老师&#xff1a;王伟平姓 名&#xff1a;周建权学 号&#xff1a;0909122820实验二 网络路由层协议模拟实验网络路由…

Java实现HTML代码生成PDF文档

转载自 Java实现HTML代码生成PDF文档1、IText实现html2pdf&#xff0c;速度快&#xff0c;纠错能力差&#xff0c;支持中文&#xff08;要求HTML使用unicode编码&#xff09;&#xff0c;但中支持一种中文字体&#xff0c;开源。 2、Flying Sauser实现html2pdf&#xff0c;纠…

java实现九九乘法表的输出

package cn.jbit.nestedloops; /*** 打印九九乘法表*/ public class MulTable {public static void main(String[] args) {int rows 9; //乘法表的行数for(int i 1; i<rows; i){ //一共9行for(int j 1; j < i; j){ //第i行有i个式子System.out.print(j"*&q…

成人教育计算机统考分数查询江苏省,江苏省教育考试院查询

阅读本文前&#xff0c;请您先点击上面的蓝色字体&#xff0c;再点击“关注”&#xff0c;这样您就可以继续免费收到最新文章了。每天都有分享。完全是免费订阅&#xff0c;请放心关注。注&#xff1a;本文转载自网络&#xff0c;不代表本平台立场&#xff0c;仅供读者参考&…

分布式系统事务一致性解决方案大对比,谁最好使?

“ 在分布式系统中&#xff0c;同时满足“一致性”、“可用性”和“分区容错性”三者是不可能的。分布式系统的事务一致性是一个技术难题&#xff0c;各种解决方案孰优孰劣&#xff1f; 老司机介绍 丁浪&#xff0c;现就职于某垂直电商平台&#xff0c;担任技术架构师。关注高并…

使用Java将HTML转成Word格式文件

转载自 使用Java将HTML转成Word格式文件 import java.io.ByteArrayInputStream; import java.io.File; import java.io.FileOutputStream; import java.io.IOException;import org.apache.poi.poifs.filesystem.DirectoryEntry; import org.apache.poi.poifs.filesystem.Docum…

java百钱白鸡的算法

package cn.jbit.nestedloops;public class Chook {/*** 百钱买百鸡*/public static void main(String[] args) {int way 1; //买法int k 0; //雏鸡数for(int i1;i<20;i){ //公鸡数for(int j1;j<33;j){ //母鸡数k 100-i-j; //一共100只鸡if(k%3 0 && (5*i3…

.NET Core 工具遥测(应用信息收集)

说明&#xff1a;本文是个人翻译文章&#xff0c;由于个人水平有限&#xff0c;有不对的地方请大家帮忙更正。原文&#xff1a;.NET Core Tools Telemetry翻译&#xff1a;.NET Core 工具遥测&#xff08;应用信息收集&#xff09; .NET Core 工具遥测&#xff08;应用信息收集…

Jsoup学习总结

转载自 Jsoup学习总结摘要 Jsoup是一款比较好的Java版HTML解析器。可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API&#xff0c;可通过DOM&#xff0c;CSS以及类似于jQuery的操作方法来取出和操作数据。 jSOUP主要功能 从一个URL&#xff0c;文件或字符串中…

计算机发展阶段的划分是以什么作为标志,计算机以什么划分发展阶段

大家好&#xff0c;我是时间财富网智能客服时间君&#xff0c;上述问题将由我为大家进行解答。计算机是以电子元件来划分发展阶段的&#xff0c;即四个发展阶段&#xff0c;这就是人们通常所说的电子管、晶体管、集成电路、超大规模集成电路等四代。集成电路(integrated circui…

docker4dotnet #3 .net猿和小鲸鱼的苹果山之旅

.net猿遇到了小鲸鱼&#xff0c;觉得越来越兴奋。本来.net猿只是在透过家里那田子窗看外面的世界&#xff0c;但是看着海峡对岸的苹果园越来越茂盛&#xff0c;实在不想再去做一只宅猿了。于是&#xff0c;.net猿决定搭上小鲸鱼的渡轮到苹果园去看看。 .net猿上了小鲸鱼渡轮就先…

jsoup解析HTML用法小结

转载自 jsoup解析HTML用法小结使用HttpClientjsoup做采集器有一段时间了&#xff0c;发现jsoup很好用&#xff0c;而且还有很多方便的东西都没怎么用上。于是想根据官网上的cookbook来对jsoup的使用做个小结&#xff0c;或者是归纳。按功能分类做个列表&#xff0c;方便在写程…

java实现打印菱形

package cn.jbit.nestedloops; import java.util.Scanner; /*** 输入行数打印菱形*/ public class Diamond {public static void main(String[] args) {int rows 0; //菱形的行数Scanner input new Scanner(System.in);System.out.print("请输入菱形行数&#xff1a;&qu…

计算机二级vf上机试题,2016年计算机二级《VF》上机题及答案

2016年计算机二级《VF》上机题及答案二、综合应用题11设计一个表单名和文件名均为“bd2”的表单&#xff0c;所有控件的属性必须在表单设计器的属性窗口中设置。表单的标题为“外币市值情况”。表单中有一个文本框、一个表格和两个命令按钮“查询”和“关闭”。运行表单时&…

微软HTTP API指南

微软发布了创建“RESTful” API的指南。Roy Fielding将这些与REST没有多大关系的API称为HTTP API。 许多组织都发布了创建面向Web的HTTP API的建议&#xff0c;甚至是白宫都发布了一份标准——“白宫Web API标准”。近日&#xff0c;微软公开了他们的“微软REST API指南2.3”&a…

谈谈Memcached与Redis

转载自 谈谈Memcached与Redis1. Memcached简介 Memcached是以LiveJurnal旗下Danga Interactive公司的Bard Fitzpatric为首开发的高性能分布式内存缓存服务器。其本质上就是一个内存key-value数据库&#xff0c;但是不支持数据的持久化&#xff0c;服务器关闭之后数据全部丢失…

使用Akka.net开发第一个分布式应用

既然这个系列的主题是”基于消息的架构模型演变“&#xff0c;少不了说说Actor模型。Akka.net是一个基于Actor模型的分布式框架。如果你对分布式应用还非常陌生&#xff0c;当别人在谈”分布式“、”云计算“等名词时你感到茫然&#xff0c;那么本篇文章将带你进行一次分布式开…

用计算机控制英文,计算机控制

摘要&#xff1a;Flexible Manufacturing Systems-An Integrated Approach to Automate Production Operations;Growth of LD steelmaking in India;H{sub}2 optimal computer control: polynomial toolbox;Implementation of a real-time target tracking behavior using vide…

JAXP操作xml

转载自 JAXP操作xmlDOM对象详解1&#xff0e;基本的DOM对象 DOM的基本对象有5个&#xff1a;Document&#xff0c;Node&#xff0c;NodeList&#xff0c;Element和Attr。下面就这些对象的功能和实现的方法作一个大致的介绍。 Document 对象代表了整个XML的文档&#xff0c;所…

Aaron Stannard谈Akka.NET 1.1

Akka.NET 1.1近日发布&#xff0c;带来新特性和性能提升。InfoQ采访了Akka.net维护者Aaron Stannard&#xff0c;了解更多有关Akka.Streams和Akka.Cluster的信息。Aaron还阐述了与Akka for JVM实现有关的路线图计划。 InfoQ&#xff1a;这个版本有什么突出的特性&#xff1f; A…