精华内容
下载资源
问答
  • Select2是基于jQuery的选择框的替代品。 它支持搜索,远程数据集和结果分页。 首先,请在查看示例和文档。 用例 通过搜索增强本机选择。 通过更好的多选界面增强本机选择。 从JavaScript加载数据:通过AJAX轻松...
  • 灯灯:是我小孩学说话时会说第一个,也是我在想了很多项目名后,小孩一语点破一个名字,灯灯象征着光明,给矛盾我们带来希望,给加班夜归程序员们指引前方〜 灯灯(简称灯,英文名:lamp),他是一个项目...
  • GoldenDict j简介与词典下载等

    千次阅读 2015-01-02 16:17:17
    GoldenDict,星际译王后的另一个跨平台开源免费词典 Goldendict星际译王Stardict被SourceForce下架后,一直没有找到完美的替代品。Lingoes、金山词霸和有道词典都有这样那样的不完美,主要是广告和联网词典问题。...
    GoldenDict,星际译王后的另一个跨平台开源免费词典

    Goldendict星际译王Stardict被SourceForce下架后,一直没有找到完美的替代品。Lingoes、金山词霸和有道词典都有这样那样的不完美,主要是广告和联网词典问题。GoldenDict是SourceForce推荐的替代,可以使用Stardict字典,支持真人语音,但遗憾不支持TTS发音。
    GoldenDict,跨平台开源免费词典

    http://goldendict.org/
    和Stardict一样,GoldenDict也是主要为Linux设计,但同时有Windows、Android版。Stardict的Windows移植用的是GTK,GoldenDict使用的是QT。
    GoldenDict本身只是一个词典软件,并不提供词典文件。官方说明支持国外主流词典文件:

    Babylon .BGL files, complete with images and resources
    StarDict .ifo/.dict./.idx/.syn dictionaries
    Dictd .index/.dict(.dz) dictionary files
    ABBYY Lingvo .dsl source files, together with abbreviations. The files can be optionally compressed with dictzip. Dictionary resources can be packed together into a .zip file.
    ABBYY Lingvo .lsa/.dat audio archives. Those can be indexed separately, or be referred to from .dsl files.

    GoldenDict的功能比较专一,支持离线和联网查词,屏幕取词和发音。GoldenDict的发音只支持播放mp3等语音文件(可以使用Stardict和Lingoes的真人语音库),不支持微软的TTS。语音播放支持Forvo发音,但比较鸡肋。Forvo需要联网,都联网了,何必还使用本地词典。

    Goldendict dictionar-lookup-program

    GoldenDict官方提供了便携版,但便携版不能使用发音功能。包括Portableapps.com版本。

    附Stardict词库:
    http://abloz.com/huzheng/stardict-dic/
    真人语音库:
    https://code.google.com/p/stardict-3/downloads/list
    http://www.lingoes.cn/zh/translator/speech.htm

    转自 沙丘:https://www.enkoo.net/goldendict.html
    GoldenDict,星际译王后的另一个跨平台开源免费词典

    Goldendict星际译王Stardict被SourceForce下架后,一直没有找到完美的替代品。Lingoes、金山词霸和有道词典都有这样那样的不完美,主要是广告和联网词典问题。GoldenDict是SourceForce推荐的替代,可以使用Stardict字典,支持真人语音,但遗憾不支持TTS发音。
    GoldenDict,跨平台开源免费词典

    http://goldendict.org/
    和Stardict一样,GoldenDict也是主要为Linux设计,但同时有Windows、Android版。Stardict的Windows移植用的是GTK,GoldenDict使用的是QT。
    GoldenDict本身只是一个词典软件,并不提供词典文件。官方说明支持国外主流词典文件:

    Babylon .BGL files, complete with images and resources
    StarDict .ifo/.dict./.idx/.syn dictionaries
    Dictd .index/.dict(.dz) dictionary files
    ABBYY Lingvo .dsl source files, together with abbreviations. The files can be optionally compressed with dictzip. Dictionary resources can be packed together into a .zip file.
    ABBYY Lingvo .lsa/.dat audio archives. Those can be indexed separately, or be referred to from .dsl files.

    GoldenDict的功能比较专一,支持离线和联网查词,屏幕取词和发音。GoldenDict的发音只支持播放mp3等语音文件(可以使用Stardict和Lingoes的真人语音库),不支持微软的TTS。语音播放支持Forvo发音,但比较鸡肋。Forvo需要联网,都联网了,何必还使用本地词典。

    Goldendict dictionar-lookup-program

    GoldenDict官方提供了便携版,但便携版不能使用发音功能。包括Portableapps.com版本。

    附Stardict词库:
    http://abloz.com/huzheng/stardict-dic/
    真人语音库:
    https://code.google.com/p/stardict-3/downloads/list
    http://www.lingoes.cn/zh/translator/speech.htm

    转自 沙丘:https://www.enkoo.net/goldendict.html

    GoldenDict,星际译王后的另一个跨平台开源免费词典

    Goldendict星际译王Stardict被SourceForce下架后,一直没有找到完美的替代品。Lingoes、金山词霸和有道词典都有这样那样的不完美,主要是广告和联网词典问题。GoldenDict是SourceForce推荐的替代,可以使用Stardict字典,支持真人语音,但遗憾不支持TTS发音。
    GoldenDict,跨平台开源免费词典

    http://goldendict.org/
    和Stardict一样,GoldenDict也是主要为Linux设计,但同时有Windows、Android版。Stardict的Windows移植用的是GTK,GoldenDict使用的是QT。
    GoldenDict本身只是一个词典软件,并不提供词典文件。官方说明支持国外主流词典文件:

    Babylon.BGL files, complete with images and resources
    StarDict.ifo/.dict./.idx/.syn dictionaries
    Dictd .index/.dict(.dz)dictionary files
    ABBYY Lingvo .dsl source files, together withabbreviations. The files can be optionally compressed with dictzip.Dictionary resources can be packed together into a .zip file.
    ABBYYLingvo .lsa/.dat audio archives. Those can be indexed separately, orbe referred to from .dslfiles.

    GoldenDict的功能比较专一,支持离线和联网查词,屏幕取词和发音。GoldenDict的发音只支持播放mp3等语音文件(可以使用Stardict和Lingoes的真人语音库),不支持微软的TTS。语音播放支持Forvo发音,但比较鸡肋。Forvo需要联网,都联网了,何必还使用本地词典。

    Goldendictdictionar-lookup-program

    GoldenDict官方提供了便携版,但便携版不能使用发音功能。包括Portableapps.com版本。

    附Stardict词库:
    http://abloz.com/huzheng/stardict-dic/
    真人语音库:
    https://code.google.com/p/stardict-3/downloads/list
    http://www.lingoes.cn/zh/translator/speech.htm
    转自沙丘:https://www.enkoo.net/goldendict.html

    http://xinyo.org/archives/61412/

    http://www.lingoes.cn/zh/translator/speech.htm

    展开全文
  • 关于辩论赛主持.doc

    2021-01-15 19:50:48
    为了锻炼我系广大同学们口头表达能力和思辨能力,培养同学们团队精神和竞争意识,同时也为了给我系广大同学们提供一个展示自我和锻炼自我的平台,我们电子信息工程系、通信工程系学习部特举行此次以“网络对大...
  • 11月19日下午,在北京大学科技成果发布会上,记者...今天下午成果发布会,也是北京市科技成果转化统筹协调与服务平台系列项目路演之一,来自北大王选计算机研究所四个科研项目参与路演。其中,万小军带来“...

    11月19日下午,在北京大学科技成果发布会上,记者了解到,由该校王选计算机研究所万小军团队研发的AI写作机器人,既能写新闻、做综述,又能发评论、对诗词,他们与多家媒体合作打造的小明、小南、小柯等写作机器人已经陆续上岗。

    机器人记者写稿更多依赖数据

    今天下午的成果发布会,也是北京市科技成果转化统筹协调与服务平台系列项目路演之一,来自北大王选计算机研究所的四个科研项目参与路演。其中,万小军带来的“AI写作机器人及其应用”项目人气最高。万小军先从AI在自然语言处理方面的实际应用说起,对于AI来讲,写新闻摘要、生成诗歌、智能对话、写商品简介甚至是写书、创作小说、语言辩论等统统不在话下。AI写作的流程,主要包括题目筛选、素材推荐、内容生成、质量控制、稿件发布和效果监测,其他们团队主要研究内容生成。

    万小军说,目前AI内容生成的主要方式包括内容扩充、内容压缩以及内容改写,其团队从2005年开始已系统研究了面向机器人的人工智能与自然语言处理技术,特别自动文摘与文本生成技术,能够实现内容可控、长短可控、情感可控、风格可控的多类文本稿件,即自动写作短摘要、新闻、综述、评论、诗歌等。

    他还通过PPT现场展示了AI机器人写的体育赛事简讯、报道以及棋类比赛解说词等。记者注意到,机器人写的体育简讯,集中在出场阵容、队员名称、比分、时间等要素;篇幅较长的体育赛事报道,仍以数据信息为主,并加入一些描写,比如“拦截能力值得期待”“坐镇左翼”“构建中场屏障”等。

    部分媒体已启用机器人记者

    万小军介绍,目前团队技术成果已经应用于多家媒体,该团队与字节跳动合作推出了小明写作机器人;与日本三菱合作推出日本财经写作机器人;还与南都合作推出了小南写作机器人,主要撰写民生新闻;与科学网合作的小柯机器人,用于撰写科学新闻。此外,还包括,妙笔写作机器人以及游戏写作机器人等。

    机器人会代替人类记者吗?

    机器人会替代人类记者吗?万小军认为,记者仍有自身优势。机器写作应用高度依赖于输入数据与素材,所以,数据与素材的获取必须首先解决。也就是说,机器人记者还没学会实地“采访”。

    目前,写作机器人多用于体育比赛快讯,科技信息快讯等领域,更多依赖数据、素材。其他领域,数据格式与类型不一样,语言表达也不同,因此,写作机器人一般不具有迁移性,针对新领域需要二次开发甚至重新开发产品。

    机器写作适用于长期频繁的写稿需求,研发过程中也需要应用方的参与,需要借助于数据、编辑人员的语言表达总结等。

    展开全文
  • Ubuntu 是一个由全球化专业开发团队建造... Ubuntu名称来自非洲南部祖鲁语或豪萨语“ubuntu”一(译为吾帮托或乌班图),意思是“人性 ”、“我存在是因为大家存在”。  对于开源平台来说,Ubuntu是

       Ubuntu 是一个由全球化的专业开发团队建造的操作系统。它包含了所有您需要的应用程序:浏览器、Office 套件、多媒体程序、即时消息等。Ubuntu 是一个 Windows 和 Office 的开源替代品。

       Ubuntu的名称来自非洲南部祖鲁语或豪萨语的“ubuntu”一词(译为吾帮托或乌班图),意思是“人性 ”、“我的存在是因为大家的存在”。

       对于开源平台来说,Ubuntu是基于Debian发布版和GNOME桌面环境,尽管源自Debian,但Debian创始人 Ian Murdock认为虽然Ubuntu是优秀的Linux发布版,也促进了Debian的全球化,但Ubuntu另建软件包,而不是直接改进 Debian已有的软件包,与Debian有不兼容的问题。

       Ubuntu与Debian的不同在于它每6个月会发布一个新版本,每2年发布一个LTS长期支持版本。Ubuntu每6个月发布一个新版,版本号源 自发布日期,每个版本都有代号和版本号。

       针对新版本发布周期计划来说,长期支持版本(LTS),更新维护的时间为比较长,约2年会推出一个正式的大改版版本。LTS针对企业用户,有别于一般版 本的6个月支持。代号“Dapper Drake”的Ubuntu 6.06 LTS是第一个获得长期支持的版本,Canonical公司计划对6.06 的桌面系列版本提供三年的更新及付费技术支持服务,对服务器版则提供五年的支持。最新的长期支持版本为2012年4月26日推出的12.04 LTS。

       Ubuntu版本的命名规则是根据正式版发布的年月命名,Ubuntu 8.10也就意味着2008年10月发布的Ubuntu,研发人员与用户可 从版本号码就知道正式发布的时间。Ubuntu是基于Debian开发的Linux发布版,Debian的开发代号来自于电影玩具总动员。

       不过,Ubuntu各版本的代号却固定是形容词加上动物名称,而且这2个词的英文首字母一定是相同的。从Ubuntu 6.06开始,两个词的首字母按照英文字母表的排列顺序取用,其中最新的几个版本:

    Ubuntu 12.04 - Precise Pangolin (精准的穿山甲)

    Ubuntu 12.10 - Quantal Quetzal (量子的格查尔鸟)

    Ubuntu 13.04 - Raring Ringtail (卯足了劲的环尾猫熊)

    Ubuntu 13.10 - Saucy Salamander (活泼的蝾螈)

       由于Linux是一种开放型的操作系统,各种发布版只是在Linux核心外包上不同的应用软件、桌面系统等而成,因此同一核心的Linux操作系统可以有不同的发布版本,同一发布版也会出现不同的分支。Ubuntu官方认可的分支系统众多,其主要差异在于使用的桌面系统不同,而内部的默认软件也会有所歧异。

       此外尚有许多基于Ubuntu的非官方派生版本,这些非官方派生与官方分支的差异,在于前者可视为独立发布版,后者则是Ubuntu系统的一部份。一般所谓 的Ubuntu系统,指的是默认的Ubuntu版本,采用Gnome桌面系统,不过从11.04版开始,它采用自己开发的Unity界面。

     

    Ubuntu 承诺

    • Ubuntu 将永远免费, 包括企业版和安全升级.
    • Ubuntu 将由 Canonical公司 以及全球数百个公司来提供商业支持.
    • Ubuntu 包含了由自由软件团体提供的最佳翻译和人性化架构.
    • Ubuntu 光盘仅仅包含了自由软件; 我们鼓励您使用自由和开放源码的软件, 改善和传播它.

     

    展开全文
  • 理学毕业论文范文:如何做好企业报管理工作 【摘 要】企业党委机关报是企业领导班子联系广大员工群众喉舌、阵地、窗口、平台和智囊,为最大程度地凝心聚力起着不可替代的作用。而科学管理是实现这一作用保障。...
  • 显示警告列表,例如缺少标题/描述,内容稀疏,关键字填充页面,不含替代文本图像,混合内容等等。 网站地图 导出xml网站地图以提交给搜索引擎(以及其他格式)。选择包括图像和pdf文件。为您优先级设置规则/更改...
  • 显示警告列表,例如缺少标题/描述,内容稀疏,关键字填充页面,不含替代文本图像,混合内容等等。 网站地图 导出xml网站地图以提交给搜索引擎(以及其他格式)。选择包括图像和pdf文件。为您优先级设置规则/...
  • 这是.Net Core 2.0生态生态介绍的最后一篇,EF一直是我喜欢的一个ORM框架,随着版本升级EF也发展到EF6.x,Entity Framework Core是一个支持跨平台的全新版本,可以用三个来概况EF Core的特点:轻量级、可扩展、跨...

    前言

    这是.Net Core 2.0生态生态介绍的最后一篇,EF一直是我喜欢的一个ORM框架,随着版本升级EF也发展到EF6.x,Entity Framework Core是一个支持跨平台的全新版本,可以用三个词来概况EF Core的特点:轻量级、可扩展、跨平台。跨平台的特性是EF6.x无法替代的优势,也许会成为你在项目中技术选型的原因之一。

    对于.NET Core 2.0的发布介绍,围绕2.0的架构体系,本系列相关文章:

    1. .Net Core 2.0 生态(1).NET Standard 2.0 特性介绍和使用指南(已发布)
    2. .Net Core 2.0 生态(2).NET Core 2.0 特性介绍和使用指南(已发布)
    3. .Net Core 2.0 生态(3)ASP.NET Core 2.0 特性介绍和使用指南(已发布)
    4. .Net Core 2.0 生态(4)Entity Framework Core 2.0 特性介绍和使用指南(已发布)

    获取和使用

    在命令行工具安装NuGet包,比如:安装SQL Server EF Core提供程序,并指定版本为2.0.0

    $ dotnet add package Microsoft.EntityFrameworkCore.SqlServer -V 2.0.0

    在VS2017中使用包管理器控制台安装

    PM> Install-Package Microsoft.EntityFrameworkCore.SqlServer -Version 2.0.0

    在ASP.NET Core 2.0默认项目包含支持EF Core 2.0的SQL Server, SQLite, 和 in-memory数据库提供程序,创建项目无需额外添加。

    查看在不同平台上使用EF Core指南,查看更多安装和升级细节,进入帮助文档

    新特性

    以下是最显著的新特性:

    • 使用.NET Standard 2.0目标框架:这使得EF Core 2.0可支持多种.NET平台实现和应用程序类型,查看平台支持列表

    • LINQ解析改进:EF Core 2.0中的查询更加高效,适应多种场景。举个例子,增加了翻译成SQL语句模式的数量限制,避免了在以前版本中因为客户端计算导致多重查询的问题。(优化了客户端计算性能)

    • Like查询支持:LINQ查询可以使用EF.Functions.Like(),最终解析为SQL中的like语句,在必要的时候会进行内存计算,举个例子,下面的查询:

      var customers =
      from c in context.Customers
      where EF.Functions.Like(c.Name, "a%");
      select c;

      解析成SQL语句:

      SELECT [c].[Id], [c].[Name]
      FROM [Customers] AS [c]
      WHERE [c].[Name] LIKE N'a%';

      和SQL中like语句一样使用通配符。

    • 实体包含关系和表拆分:可以通过属性关联建立实体之间的包含关系,这个特性和EF6中的复合类型类似,只需要定义一个导航属性。实体包含关系定义与表拆分结合使用,可以将两个实体自动映射为单张表,参看下面的示例:

        public class Customer
        {
            public int Id { get; set; }
            public string Name {get; set;}
            public PhysicalAddress Address { get; set; }
        }
      
        public class PhysicalAddress
        {
            public string StreetAddress { get; set; }
            public Location Location { get; set; }
        }
      
        ...
      
        modelBuilder.Entity<Customer>()
            .OwnsOne(c => c.Address);
    • 全局查询过滤器:在DbContext中为实体定义查询过滤器,下面代码在OnModelCreating方法中定义:

        modelBuilder.Entity<Post>()
        .HasQueryFilter(p => !p.IsDeleted);

      下面的查询只会返回未被标记为删除的结果:

      var blog = context.Blogs
      .Include(b => b.Posts)
      .FirstOrDefault(b => b.Id == id);

      这个特性在特殊的业务场景下将有大用处,比如多租户中数据过滤实现。

    • DbContext Pooling(池):这项特性能够显著提升Asp.net Core应用程序的性能,通过在服务注册DbContext类型时启用,使用预先创建的实例池,避免为每个请求创建新实例:

      services.AddDbContextPool<BloggingContext>(
          options => options.UseSqlServer(connectionString));

      这是一个最佳实践,推荐使用!

    • SQL方法支持字符串插值:下面的SQL语句使用了C#中字符串插值语法,简化参数化查询:

        var city = "Redmond";
      
        using (var context = CreateContext())
        {
            context.Customers.FromSql($@"
                SELECT *
                FROM Customers
                WHERE City = {city}");
        }

      以上代码转换为SQL语句会创建一个名为@p0的参数,值为Redmond,生成如下SQL语句:

        SELECT *
        FROM Customers
        WHERE City = @p0
    • 更多特性:如:显式编译查询、自包含实体配置、数据库标准函数映射。还修复了许多Bug。详细内容参考:新功能

    项目升级和核心API变化

    1. 将项目.NET平台设置为支持.NET Standard 2.0的平台
    2. 使用支持2.0的数据库提供程序
    3. 更新EF Core引用包(包括运行时和工具)到2.0
    4. 必要的时候对代码进行修改,具体参看核心变化

    在2.0版本中,部分API和操作有较大改进,有部分改进需要修改现有程序代码,对于大多数应用程序来说,影响不大,大多数情况下,只需要重新编译和最少的修改来替换过时的API。

    获取应用程序服务新方式

    注:EF Core在设计时的操作比如生成数据迁移代码,更新数据库,需要访问应用程序服务。设计时工具和应用程序存在调用关系。

    推荐将ASP.NET Core Web应用程序更新到2.0,在ASP.NET Core 2.0在启动类之外初始化配置。在之前的版本EF Core尝试执行Startup.ConfigureServices,直接访问应用程序的服务提供者,使用EF Core的应用程序通常从配置文件中访问连接字符串,所以单靠Startup已经不能满足获取连接字符串的需要。

    更新ASP.NET Core 1.x到2.0,当使用了EF Core工具,会收到如下错误提示:

    No parameterless constructor was found on 'ApplicationContext'. Either add a parameterless constructor to 'ApplicationContext' or add an implementation of 'IDesignTimeDbContextFactory' in the same assembly as 'ApplicationContext'

    在ASP.NET Core 2.0默认模板中新增设计时支持,静态方法Program.BuildWebHost允许EF Core在设计时访问应用程序服务提供者,如果升级ASP.NET Core 1.x应用程序,同时升级Program

    using Microsoft.AspNetCore;
    using Microsoft.AspNetCore.Hosting;
    
    namespace AspNetCoreDotNetCore2._0App
    {
        public class Program
        {
            public static void Main(string[] args)
            {
                BuildWebHost(args).Run();
            }
    
            public static IWebHost BuildWebHost(string[] args) =>
                WebHost.CreateDefaultBuilder(args)
                    .UseStartup<Startup>()
                    .Build();
        }
    }

    注:如果没有ASP.NET Core 2.0应用程序没有更改Program启动方式,依然可以使用实现IDesignTimeDbContextFactory<ApplicationContext>接口方式提供EF Core 2.0设计时支持,不推荐这么做。

    IDbContextFactory改名

    为了支持不同的应用模式,在设计时提供对DbContext更多自定义控制,在以前的版本提供接口IDbContextFactory<TContext>,EF Core工具在设计时,会发现应用程序中该接口的实现并使用它来创建DbContext对象。

    这个接口因为具有通用性的名称,容易误导开发者使用来处理需要重新创建DbContext的开发场景,当在设计时EF Core工具使用它时因为没有考虑到设计时的特殊环境可以导致Update-Databasedotnet ef database update命令执行失败。

    基于以上的原因,为了更精准的表达该接口的作用,我们将其改名为IDesignTimeDbContextFactory<TContext>,在2.0中IDbContextFactory<TContext>仍然存在,但是已经标记为过时了。

    DbContextFactoryOptions移除

    因为ASP.NET 2.0的升级,我们发现在接口IDesignTimeDbContextFactory<TContext>不在需要DbContextFactoryOptions
    下面是你应该使用的替代方案。

    • DbContextFactoryOptions.ApplicationBasePath 使用AppContext.BaseDirectory代替
    • DbContextFactoryOptions.ContentRootPath 使用Directory.GetCurrentDirectory()代替
    • DbContextFactoryOptions.EnvironmentName 使用Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT")代替

    EF Core 2.0需要2.0数据库提供程序

    对于EF Core 2.0,我们已经对数据库提供程序的工作进行了许多简化和改进。1.0.x和1.1.x提供程序已经不能在EF Core 2.0下工作。

    由EF团队开发的SQL Server和SQLite数据库提供程序,2.0版本将在2.0版本中提供。其他数据库提供程序也已经升级到2.0版本:

    日志记录和诊断事件更改

    注意:这些更改不会影响大多数的应用程序代码。

    发送给ILogger的消息的事件ID在2.0中发生了变化。现在在EF Core中事件ID是全局唯一的。这些消息现在也遵循了结构化日志的标准模式,例如,MVC。

    Logger类别也发生了变化,类别可通过DbLoggerCategory访问。

    DiagnosticSource事件现在使用与对应ILogger消息相同的时间ID名称,事件ID、有效负载类型和类别进行了统一。

    ID从Microsoft.EntityFrameworkCore.Infraestructure命名空间移到Microsoft.EntityFrameworkCore.Diagnostics

    EF Core元数据关系API变化

    EF Core 2.0为不同的提供程序创建一个不同的IModel,这通常对应用程序是透明的,从而简化了底层元数据API,使得任何对公共关系的元数据都可以通过调用来实现,对比如下代码,在1.1.x中代码:

    var tableName = context.Model.FindEntityType(typeof(User)).SqlServer().TableName;

    现在可以这么写

    var tableName = context.Model.FindEntityType(typeof(User)).Relational().TableName;

    更具通用性。

    在比如使用方法ForSqlServerToTable,现在可以使用更加通用的代码来实现

    modelBuilder.Entity<User>().ToTable(
    Database.IsSqlServer() ? "SqlServerName" : "OtherName");

    请注意,此更改仅适用于为所有关系提供程序定义的API/元数据。当只针对单个提供者时,API和元数据仍然是相同的。举个例子,聚集索引是SQL Server特有的,所以ForSqlServerIsClustered.SqlServer().IsClustered()必须使用。

    不要控制EF服务提供程序

    EF Core使用内置IServiceProvider在框架内部实现,应用程序应该允许EF Core创建和管理这个提供程序。强烈建议删除所有UseInternalServiceProvider的调用,AddEntityFrameworkAddEntityFrameworkSqlServer不需要通过应用程序代码调用,建议移除。AddDbContext的使用方式和以前一样。

    内存数据库必须命名

    全局匿名内存数据库已经被删除,而所有内存数据库都必须被命名。

    optionsBuilder.UseInMemoryDatabase("MyDatabase");

    名称相同就算调用多次,仍然使用同一个数据库,允许由多个上下文实例共享。

    Read-only API 变化

    IsReadOnlyBeforeSave, IsReadOnlyAferSave, 和 IsStoreGeneratedAlways 已经过时,由 BeforeSaveBehaviorAfterSaveBehavior代替。这些行为应用到任何属性(不仅是存储生成的属性)并检测属性值如何被使用,比如插入数据库行(BeforeSaveBehavior)或更新现有数据库行(AfterSaveBehavior)。

    属性通过ValueGenerated.OnAddOrUpdate进行标记,例如:计算列。默认情况下,将忽略当前设置在该属性上的任何值。这意味着无论是否在跟踪实体上设置或修改了任何值,都将始终获得一个存储生成的值。这可以通过设置不同的Before\AfterSaveBehavior来改变。

    新的ClientSetNull删除行为

    在以前的版本中DeleteBehavior.Restrict通过上下文对实体有一个跟踪行为,这些实体与SetNull语义更加封闭。在EF Core 2.0中一个新的行为ClientSetNull作为可选关系的默认值。此行为为跟踪实体设置了SetNull语义,并限制使用EF Core创建的数据库的行为。根据我们的经验这对跟踪实体和数据库是非常有用的。

    设计时提供程序更改

    Microsoft.EntityFrameworkCore.Relational.Design引用包移除,功能被整合进Microsoft.EntityFrameworkCore.RelationalMicrosoft.EntityFrameworkCore.Design引用包。

    不同数据设计时引用包,比如Microsoft.EntityFrameworkCore.Sqlite.Design, Microsoft.EntityFrameworkCore.SqlServer.Design,整合进其主提供程序中。

    在EF Core 2.0中启用Scaffold-DbContextdotnet ef dbcontext scaffold 现在只需要引用单一的包

    <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer"
        Version="2.0.0" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Tools"
        Version="2.0.0"
        PrivateAssets="All" />
    <DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet"
        Version="2.0.0" />

    下一步计划

    已经在进行下一个版本的开发,查看开发计划,另外也在完成EF 6.2

    遗憾的地方

    • 不支持GroupBy、延迟加载——这两个特性都在2.1计划中

    转载于:https://www.cnblogs.com/YGYH/p/7416275.html

    展开全文
  • 这是.Net Core 2.0生态生态介绍的最后一篇,EF一直是我喜欢的一个ORM框架,随着版本升级EF也发展到EF6.x,Entity Framework Core是一个支持跨平台的全新版本,可以用三个来概况EF Core的特点:轻量级、可扩展、跨...
  • 说明: 指定拼写日期名, 月名和日期缩写 (AM, PM, AD, BC) 语言。该参数默认值是由 NLS_LANGUAGE指定语言。 值范围: 任何有效 NLS_LANGUAGE 值。 默认值: NLS_LANGUAGE 值 nls_dual_currency: 说明: ...

空空如也

空空如也

1 2 3 4
收藏数 65
精华内容 26
关键字:

平台的替代词