Updated CodeFirst (markdown)

IGeekFan
2020-10-02 13:34:07 +08:00
parent 46791a4b93
commit c0f2f36c27

@@ -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());