关于 ASP.NET Core 2.0 的新功能可以查看我的这篇博客。 这篇文章是 Priview2 中的一些改进。
将在 dotnet run,publish,build 的时候被隐式调用
- dotnet restore
依赖关系了
- NETStandard.Library
开启。
- <LangVersion>latest</ LangVersion>
- 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
- 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;
- }
- }
- 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;
来源: http://www.cnblogs.com/savorboard/p/dotnetcore2-feature.html