当前位置: 移动技术网 > IT编程>开发语言>.net > .NET Core 2.0 Preview2 发布汇总

.NET Core 2.0 Preview2 发布汇总

2017年12月08日  | 移动技术网IT编程  | 我要评论

句子吧,崔雪莉ktv照片事件,f1新加坡站直播

前言

关于 asp.net core 2.0 的新功能可以查看我的。 这篇文章是 priview2中的一些改进。

.net core 2.0 - preview2

azure 的改进
docker 镜像转移到了 debian stretch
修复并支持 macos high sierra
和的改进
dotnet restore 将在 dotnet run,publish,build 的时候被隐式调用
.net standard 库可以引用 .net framework库了
.net standard nuget 包 nuspec 不再需要添加对于netstandard.library依赖关系了

asp.net core 2.0 - preview2

更新了 visual studio 的模板,多了spa项目的模板。 包括(angular, react.js, react.js and redux)等。


添加了在 visual studio 2017 中新建 asp.net core 项目使用 .net framework框架的模板。


kestrel 添加了一些配置选项,包括(maxconcurrentconnections,maxrequestbodysize,requestbodyminimumdatarate)等。

razor 支持 c# 7.1。 此项配置可以在csproj中指定<langversion>latest</ langversion>开启。
对于mvc action中filestreamresult,filecontentresult 的http头增加了支持的范围。 现在可以添加 etag, lastupdate等。

新增了两个关于razor page的过滤器(ipagefilter,iasyncpagefilter)。
关于 priview 1中的 identity 相关的服务还有配置https的被割掉了,他们还需要时间进行打磨,等待以后发布。

entity framework core 2.0 - preview2

新的 nuget 包以及工具包(microsoft.entityframeworkcore.tools.dotnet)
fromsql和executesqlcommand中的字符串插值,他们生成的sql将会自动参数化。

var city = "london";
var contacttitle = "sales representative";

using (var context = createcontext())
{
 context.customers
 .fromsql($@"
 select *
 from customers
 where city = {city}
 and contacttitle = {contacttitle}")
 .toarray();
}

生成的sql:

@p0='london' (size = 4000)
@p1='sales representative' (size = 4000)

select *
from customers
where city = @p0
 and contacttitle = @p1

实体类型自动分割表(完善priview1中的功能),下面将只会创建一个表。

modelbuilder.entity<order>().ownsone(
 p => p.orderdetails,
 cb =>
 {
 cb.ownsone(c => c.billingaddress);
 cb.ownsone(c => c.shippingaddress);
 });

public class order
{
 public int id { get; set; }
 public orderdetails orderdetails { get; set; }
}

public class orderdetails
{
 public address billingaddress { get; set; }
 public address shippingaddress { get; set; }
}

public class address
{
 public string street { get; set; }
 public string city { get; set; }
}

数据库函数映射,你可以在代码中使用数据库中定义的函数了,注意返回值只能是单个的(scalar)。

public class bloggingcontext : dbcontext
{
 [dbfunction] // 添加这个标记,静态方法
 public static int postreadcount(int blogid)
 {
 throw new exception();
 }
}

将会调用数据库中定义的postreadcount函数,函数必须自己手动创建,ef不会自动生成。

var query =
 from p in context.posts
 where bloggingcontext.postreadcount(p.id) > 5
 select p;

其他的改进(兼容性,过时api等)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持移动技术网。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网