mirror of
https://github.com/dotnetcore/FreeSql.git
synced 2026-02-06 00:10:55 +08:00
Updated CodeFirst (markdown)
@@ -122,9 +122,9 @@ var t2 = fsql.CodeFirst.SyncStructure<Topic>();
|
||||
|
||||
#### 批量生成表结构
|
||||
- void SyncStructure(params Type[]) 重载方法支持数组,同步实体类型集合到数据库
|
||||
- IEntity类,是实体类所有程序集合的一个类都行。该方法是在实体类上都指定了 [Table(Name = "xxx")]
|
||||
- IEntity类,是实体类所在程序集的一个类即可。
|
||||
下面是二种方法。
|
||||
1.扫描 IEntity类所在程序集,反射得到类上有特性标签为TableAttribute 的所有类
|
||||
1.扫描 IEntity类所在程序集,反射得到类上有特性标签为TableAttribute 的所有类,该方法需在实体类上指定了 [Table(Name = "xxx")]特性标签
|
||||
```csharp
|
||||
public class ReflexHelper
|
||||
{
|
||||
@@ -153,7 +153,7 @@ public class ReflexHelper
|
||||
fsql.CodeFirst.SyncStructure(ReflexHelper.GetTypesByTableAttribute());
|
||||
```
|
||||
|
||||
2.ReflexHelper.cs类增加GetTypesByNameSpace,通过命名空间得到所有要创建的实体类.根据需要调整entitiesFullName下的命名空间值。比如我们创建一个Entities文件夹,用于存放实体类。该方法通过筛选IEntity所在程序集所有的实体类。他们的命名空间都是LinCms.Entities开头,内部通过StartsWith判断。
|
||||
2.ReflexHelper.cs类增加GetTypesByNameSpace方法,通过命名空间得到所有要创建的实体类.根据需要调整entitiesFullName下的命名空间值。比如我们创建一个Entities文件夹,用于存放实体类。该方法通过筛选 IEntity类所在程序集所有的实体类。他们的命名空间都是LinCms.Entities开头,内部通过StartsWith判断。
|
||||
```
|
||||
public static Type[] GetTypesByNameSpace()
|
||||
{
|
||||
@@ -178,7 +178,7 @@ fsql.CodeFirst.SyncStructure(ReflexHelper.GetTypesByTableAttribute());
|
||||
return tableAssembies.ToArray();
|
||||
}
|
||||
```
|
||||
或通过调用
|
||||
或通过调用同步所有表结构
|
||||
|
||||
```csharp
|
||||
fsql.CodeFirst.SyncStructure(ReflexHelper.GetTypesByNameSpace());
|
||||
|
||||
Reference in New Issue
Block a user