- 增加 FreeSql.DbContext OnModelCreating 虚方法,实现在 DbContext 使用 FluentApi;#4 - 移除 FreeSql.Extensions.EfCoreFluentApi,功能移至 FreeSql.DbContext;

This commit is contained in:
28810
2020-04-16 02:58:34 +08:00
parent 43e1529a83
commit 36759402cc
23 changed files with 418 additions and 575 deletions

View File

@ -0,0 +1,58 @@
using System;
using System.Collections.Generic;
using System.Linq.Expressions;
using FreeSql.DataAnnotations;
namespace FreeSql.Extensions.EfCoreFluentApi
{
public class EfCoreColumnFluent
{
ColumnFluent _cf;
internal EfCoreColumnFluent(ColumnFluent tf)
{
_cf = tf;
}
/// <summary>
/// 使用 FreeSql FluentApi 方法,当 EFCore FluentApi 方法无法表示的时候使用
/// </summary>
/// <returns></returns>
public ColumnFluent Help() => _cf;
public EfCoreColumnFluent HasColumnName(string name)
{
_cf.Name(name);
return this;
}
public EfCoreColumnFluent HasColumnType(string dbtype)
{
_cf.DbType(dbtype);
return this;
}
public EfCoreColumnFluent IsRequired()
{
_cf.IsNullable(false);
return this;
}
public EfCoreColumnFluent HasMaxLength(int length)
{
_cf.StringLength(length);
return this;
}
public EfCoreColumnFluent HasDefaultValueSql(string sqlValue)
{
_cf.InsertValueSql(sqlValue);
return this;
}
public EfCoreColumnFluent IsRowVersion()
{
_cf.IsVersion(true);
return this;
}
//public EfCoreColumnFluent HasConversion(Func<object, string> stringify, Func<string, object> parse)
//{
// return this;
//}
}
}