- rename ZoreEntity to ZeroEntity

This commit is contained in:
2881099 2023-12-21 16:26:23 +08:00
parent bf92f09b9e
commit 8a70974bb8
12 changed files with 68 additions and 68 deletions

View File

@ -1,7 +1,7 @@

using FreeSql;
using FreeSql.DataAnnotations;
using FreeSql.Extensions.ZoreEntity;
using FreeSql.Extensions.ZeroEntity;
using FreeSql.Internal.Model;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
@ -17,7 +17,7 @@ using (var fsql = new FreeSqlBuilder()
{
var json = JsonConvert.SerializeObject(Helper.GetTestDesc());
var dyctx = new ZoreDbContext(fsql, JsonConvert.DeserializeObject<TableDescriptor[]>(@"
var dyctx = new ZeroDbContext(fsql, JsonConvert.DeserializeObject<TableDescriptor[]>(@"
[
{
""Name"":""User"",

View File

@ -12,7 +12,7 @@
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\Extensions\FreeSql.Extensions.ZoreEntity\FreeSql.Extensions.ZoreEntity.csproj" />
<ProjectReference Include="..\..\Extensions\FreeSql.Extensions.ZeroEntity\FreeSql.Extensions.ZeroEntity.csproj" />
<ProjectReference Include="..\..\Providers\FreeSql.Provider.Sqlite\FreeSql.Provider.Sqlite.csproj" />
</ItemGroup>

View File

@ -28,7 +28,7 @@
</ItemGroup>
<PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Debug|netstandard2.0|AnyCPU'">
<DocumentationFile>FreeSql.Extensions.ZoreEntity.xml</DocumentationFile>
<DocumentationFile>FreeSql.Extensions.ZeroEntity.xml</DocumentationFile>
<WarningLevel>3</WarningLevel>
</PropertyGroup>

View File

@ -1,64 +1,64 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>FreeSql.Extensions.ZoreEntity</name>
<name>FreeSql.Extensions.ZeroEntity</name>
</assembly>
<members>
<member name="P:FreeSql.Extensions.ZoreEntity.ZoreDbContext.Select">
<member name="P:FreeSql.Extensions.ZeroEntity.ZeroDbContext.Select">
<summary>
【有状态管理】自动 Include 查询
</summary>
</member>
<member name="M:FreeSql.Extensions.ZoreEntity.ZoreDbContext.SelectNoTracking(System.String)">
<member name="M:FreeSql.Extensions.ZeroEntity.ZeroDbContext.SelectNoTracking(System.String)">
<summary>
【无状态管理】指定表查询
</summary>
</member>
<member name="P:FreeSql.Extensions.ZoreEntity.ZoreDbContext.ChangeReport.ChangeInfo.BeforeObject">
<member name="P:FreeSql.Extensions.ZeroEntity.ZeroDbContext.ChangeReport.ChangeInfo.BeforeObject">
<summary>
Type = Update 的时候,获取更新之前的对象
</summary>
</member>
<member name="P:FreeSql.Extensions.ZoreEntity.ZoreDbContext.ChangeReport.Report">
<member name="P:FreeSql.Extensions.ZeroEntity.ZeroDbContext.ChangeReport.Report">
<summary>
实体变化记录
</summary>
</member>
<member name="P:FreeSql.Extensions.ZoreEntity.ZoreDbContext.ChangeReport.OnChange">
<member name="P:FreeSql.Extensions.ZeroEntity.ZeroDbContext.ChangeReport.OnChange">
<summary>
实体变化事件
</summary>
</member>
<member name="M:FreeSql.Extensions.ZoreEntity.ZoreDbContext.SelectImpl.LeftJoin(System.String,System.String[])">
<member name="M:FreeSql.Extensions.ZeroEntity.ZeroDbContext.SelectImpl.LeftJoin(System.String,System.String[])">
<summary>
举例1LeftJoin("table1", "id", "user.id") -> LEFT JOIN [table1] b ON b.[id] = a.[id]<para></para>
举例2LeftJoin("table1", "id", "user.id", "xid", "user.xid") -> LEFT JOIN [table1] b ON b.[id] = [a].id] AND b.[xid] = a.[xid]
</summary>
</member>
<member name="M:FreeSql.Extensions.ZoreEntity.ZoreDbContext.SelectImpl.InnerJoin(System.String,System.String[])">
<member name="M:FreeSql.Extensions.ZeroEntity.ZeroDbContext.SelectImpl.InnerJoin(System.String,System.String[])">
<summary>
举例1InnerJoin("table1", "id", "user.id") -> INNER JOIN [table1] b ON b.[id] = a.[id]<para></para>
举例2InnerJoin("table1", "id", "user.id", "xid", "user.xid") -> INNER JOIN [table1] b ON b.[id] = [a].id] AND b.[xid] = a.[xid]
</summary>
</member>
<member name="M:FreeSql.Extensions.ZoreEntity.ZoreDbContext.SelectImpl.RightJoin(System.String,System.String[])">
<member name="M:FreeSql.Extensions.ZeroEntity.ZeroDbContext.SelectImpl.RightJoin(System.String,System.String[])">
<summary>
举例1RightJoin("table1", "id", "user.id") -> RIGTH JOIN [table1] b ON b.[id] = a.[id]<para></para>
举例2RightJoin("table1", "id", "user.id", "xid", "user.xid") -> RIGTH JOIN [table1] b ON b.[id] = [a].id] AND b.[xid] = a.[xid]
</summary>
</member>
<member name="M:FreeSql.Extensions.ZoreEntity.ZoreDbContext.SelectImpl.Where(System.Collections.Generic.IEnumerable{System.Collections.Generic.Dictionary{System.String,System.Object}})">
<member name="M:FreeSql.Extensions.ZeroEntity.ZeroDbContext.SelectImpl.Where(System.Collections.Generic.IEnumerable{System.Collections.Generic.Dictionary{System.String,System.Object}})">
<summary>
WHERE [Id] IN (...)
</summary>
</member>
<member name="M:FreeSql.Extensions.ZoreEntity.ZoreDbContext.SelectImpl.Where(System.Object)">
<member name="M:FreeSql.Extensions.ZeroEntity.ZeroDbContext.SelectImpl.Where(System.Object)">
<summary>
Where(new { Year = 2017, CategoryId = 198, IsPublished = true })<para></para>
WHERE [Year] = 2017 AND [CategoryId] = 198 AND [IsPublished] = 1
</summary>
</member>
<member name="M:FreeSql.Extensions.ZoreEntity.ZoreDbContext.SelectImpl.Where(System.String,System.Object)">
<member name="M:FreeSql.Extensions.ZeroEntity.ZeroDbContext.SelectImpl.Where(System.String,System.Object)">
<summary>
WHERE [field] = ..
</summary>

View File

@ -10,15 +10,15 @@ using System.Linq;
using System.Text;
using T = System.Collections.Generic.Dictionary<string, object>;
namespace FreeSql.Extensions.ZoreEntity
namespace FreeSql.Extensions.ZeroEntity
{
partial class ZoreDbContext
partial class ZeroDbContext
{
public class SelectImpl
{
ZoreDbContext _dbcontext;
ZeroDbContext _dbcontext;
IFreeSql _orm => _dbcontext._orm;
List<ZoreTableInfo> _tables => _dbcontext._tables;
List<ZeroTableInfo> _tables => _dbcontext._tables;
int _mainTableIndex = -1;
List<TableAliasInfo> _tableAlias;
ISelect<TestDynamicFilterInfo> _select;
@ -33,7 +33,7 @@ namespace FreeSql.Extensions.ZoreEntity
bool _includeAll = false;
SelectImpl() { }
internal SelectImpl(ZoreDbContext dbcontext, string tableName)
internal SelectImpl(ZeroDbContext dbcontext, string tableName)
{
_dbcontext = dbcontext;
var tableIndex = _tables.FindIndex(a => a.CsName.ToLower() == tableName?.ToLower());
@ -61,7 +61,7 @@ namespace FreeSql.Extensions.ZoreEntity
LocalAutoInclude(_tables[_mainTableIndex], "a");
return this;
void LocalAutoInclude(ZoreTableInfo table, string alias, string navPath = "")
void LocalAutoInclude(ZeroTableInfo table, string alias, string navPath = "")
{
if (ignores.ContainsKey(table.CsName)) return;
ignores.Add(table.CsName, true);
@ -179,7 +179,7 @@ namespace FreeSql.Extensions.ZoreEntity
class TableAliasInfo
{
public string Alias { get; set; }
public ZoreTableInfo Table { get; set; }
public ZeroTableInfo Table { get; set; }
public string[] NavPath { get; set; }
public List<NativeTuple<string, Action<SelectImpl>>> IncludeMany { get; set; } = new List<NativeTuple<string, Action<SelectImpl>>>();
}
@ -200,7 +200,7 @@ namespace FreeSql.Extensions.ZoreEntity
return alias;
}
}
TableAliasInfo FlagFetchResult(ZoreTableInfo table, string alias, string navPath)
TableAliasInfo FlagFetchResult(ZeroTableInfo table, string alias, string navPath)
{
var tableAlias = _tableAlias.Where(a => a.Alias == alias).FirstOrDefault();
if (tableAlias == null)
@ -533,7 +533,7 @@ namespace FreeSql.Extensions.ZoreEntity
return this;
}
NativeTuple<string, ColumnInfo> ParseField(ZoreTableInfo firstTable, string firstTableAlias, string property)
NativeTuple<string, ColumnInfo> ParseField(ZeroTableInfo firstTable, string firstTableAlias, string property)
{
if (string.IsNullOrEmpty(property)) return null;
var field = property.Split('.').Select(a => a.Trim()).ToArray();

View File

@ -11,7 +11,7 @@ using System.Linq;
using System.Reflection;
using T = System.Collections.Generic.Dictionary<string, object>;
namespace FreeSql.Extensions.ZoreEntity
namespace FreeSql.Extensions.ZeroEntity
{
/*
@ -58,13 +58,13 @@ OneToMany 级联删除
ManyToOne
ManyToMany
*/
public partial class ZoreDbContext
public partial class ZeroDbContext
{
internal IFreeSql _orm;
internal DbTransaction _transaction;
internal int _commandTimeout;
internal List<ZoreTableInfo> _tables;
public ZoreDbContext(IFreeSql orm, TableDescriptor[] schemas)
internal List<ZeroTableInfo> _tables;
public ZeroDbContext(IFreeSql orm, TableDescriptor[] schemas)
{
_orm = orm;
_tables = VilidateSchemaToInfo(orm, schemas);
@ -80,10 +80,10 @@ ManyToMany 级联删除中间表(注意不删除外部根)
_orm.CodeFirst.SyncStructure(table, table.DbName, false);
}
static List<ZoreTableInfo> VilidateSchemaToInfo(IFreeSql orm, IEnumerable<TableDescriptor> schemas)
static List<ZeroTableInfo> VilidateSchemaToInfo(IFreeSql orm, IEnumerable<TableDescriptor> schemas)
{
var common = (orm.Ado as AdoProvider)._util;
var tables = new List<ZoreTableInfo>();
var tables = new List<ZeroTableInfo>();
foreach (var dtd in schemas)
{
if (string.IsNullOrWhiteSpace(dtd.Name)) continue;
@ -97,7 +97,7 @@ ManyToMany 级联删除中间表(注意不删除外部根)
{
IndexMethod = a.IndexMethod,
});
var tab = new ZoreTableInfo();
var tab = new ZeroTableInfo();
tab.Comment = dtd.Comment;
tab.Type = typeof(object);
tab.CsName = dtd.Name;
@ -137,7 +137,7 @@ ManyToMany 级联删除中间表(注意不删除外部根)
{
if (tab.Navigates.ContainsKey(dtdnav.Name)) continue;
var error = $"表“{tab.CsName}”导航属性 {dtdnav.Name} 配置错误:";
var nav = new ZoreTableRef();
var nav = new ZeroTableRef();
nav.NavigateKey = dtdnav.Name;
nav.Table = tab;
nav.RefTable = tables.Where(a => a.CsName == dtdnav.RelTable).FirstOrDefault();
@ -210,12 +210,12 @@ ManyToMany 级联删除中间表(注意不删除外部根)
return tables;
}
public ZoreDbContext WithTransaction(DbTransaction value)
public ZeroDbContext WithTransaction(DbTransaction value)
{
_transaction = value;
return this;
}
public ZoreDbContext CommandTimeout(int seconds)
public ZeroDbContext CommandTimeout(int seconds)
{
_commandTimeout = seconds;
return this;
@ -334,18 +334,18 @@ ManyToMany 级联删除中间表(注意不删除外部根)
AttachCascade(_tables[0], entity, true);
}
void AuditCascade(ZoreTableInfo entityTable, IEnumerable<T> entities)
void AuditCascade(ZeroTableInfo entityTable, IEnumerable<T> entities)
{
if (entities == null) return;
foreach (var entity in entities) AuditCascade(entityTable, entity);
}
internal void AuditCascade(ZoreTableInfo entityTable, T entity)
internal void AuditCascade(ZeroTableInfo entityTable, T entity)
{
var ignores = new Dictionary<string, Dictionary<string, bool>>(); //比如 Tree 结构可以递归添加
LocalAuditCascade(entityTable, entity);
ignores.Clear();
void LocalAuditCascade(ZoreTableInfo table, T entityFrom)
void LocalAuditCascade(ZeroTableInfo table, T entityFrom)
{
if (entityFrom == null) return;
@ -550,7 +550,7 @@ ManyToMany 级联删除中间表(注意不删除外部根)
}
return false;
}
void InsertCascade(ZoreTableInfo entityTable, IEnumerable<T> entities, bool cascade)
void InsertCascade(ZeroTableInfo entityTable, IEnumerable<T> entities, bool cascade)
{
var navs = entityTable.Navigates.OrderBy(a => a.Value.RefType).ThenBy(a => a.Key).ToArray();
SaveOutsideCascade(entities, navs);
@ -791,7 +791,7 @@ ManyToMany 级联删除中间表(注意不删除外部根)
#endregion
}
void SaveOutsideCascade(IEnumerable<T> entities, IEnumerable<KeyValuePair<string, ZoreTableRef>> navs)
void SaveOutsideCascade(IEnumerable<T> entities, IEnumerable<KeyValuePair<string, ZeroTableRef>> navs)
{
foreach (var nav in navs)
{
@ -829,7 +829,7 @@ ManyToMany 级联删除中间表(注意不删除外部根)
SaveOutsideCascade(nav.Value.RefTable, nav.Value, outsideList);
}
}
void SaveOutsideCascade(ZoreTableInfo entityTable, ZoreTableRef nav, IEnumerable<NativeTuple<T, T>> outsideData)
void SaveOutsideCascade(ZeroTableInfo entityTable, ZeroTableRef nav, IEnumerable<NativeTuple<T, T>> outsideData)
{
outsideData = outsideData.Where(a => CanCascade(entityTable, a.Item2, true)).ToList();
if (outsideData.Any() == false) return;
@ -861,20 +861,20 @@ ManyToMany 级联删除中间表(注意不删除外部根)
}
}
void UpdateCascade(ZoreTableInfo entityTable, IEnumerable<T> entities, bool cascade)
void UpdateCascade(ZeroTableInfo entityTable, IEnumerable<T> entities, bool cascade)
{
SaveOutsideCascade(entities, entityTable.Navigates.OrderBy(a => a.Value.RefType).ThenBy(a => a.Key));
var tracking = new TrackingChangeInfo();
foreach (var entity in entities)
{
var stateKey = GetEntityKeyString(entityTable, entity);
if (_states.TryGetValue(entityTable.DbName, out var kv) == false || kv.TryGetValue(stateKey, out var state) == false) throw new Exception($"{nameof(ZoreDbContext)} 查询之后,才可以更新数据 {GetEntityString(entityTable, entity)}");
if (_states.TryGetValue(entityTable.DbName, out var kv) == false || kv.TryGetValue(stateKey, out var state) == false) throw new Exception($"{nameof(ZeroDbContext)} 查询之后,才可以更新数据 {GetEntityString(entityTable, entity)}");
CompareEntityValue(entityTable, state.Value, entity, tracking);
}
SaveTrackingChange(tracking);
foreach (var entity in entities) AttachCascade(entityTable, entity, false);
}
void DeleteCascade(ZoreTableInfo entityTable, IEnumerable<T> entities, List<object> deletedOutput)
void DeleteCascade(ZeroTableInfo entityTable, IEnumerable<T> entities, List<object> deletedOutput)
{
var tracking = new TrackingChangeInfo();
foreach (var entity in entities)
@ -946,13 +946,13 @@ ManyToMany 级联删除中间表(注意不删除外部根)
}
#region EntityState
internal void AttachCascade(ZoreTableInfo entityTable, T entity, bool includeOutside)
internal void AttachCascade(ZeroTableInfo entityTable, T entity, bool includeOutside)
{
var ignores = new Dictionary<string, Dictionary<string, bool>>(); //比如 Tree 结构可以递归添加
LocalAttachCascade(entityTable, entity, true);
ignores.Clear();
void LocalAttachCascade(ZoreTableInfo table, T entityFrom, bool flag)
void LocalAttachCascade(ZeroTableInfo table, T entityFrom, bool flag)
{
if (flag == false) return;
if (entityFrom == null) return;
@ -967,7 +967,7 @@ ManyToMany 级联删除中间表(注意不删除外部根)
if (kv.ContainsKey(state.Key)) kv[state.Key] = state;
else kv.Add(state.Key, state);
}
bool LocalMapEntityValue(ZoreTableInfo table, T entityFrom, T entityTo)
bool LocalMapEntityValue(ZeroTableInfo table, T entityFrom, T entityTo)
{
if (entityFrom == null || entityTo == null) return true;
@ -1081,7 +1081,7 @@ ManyToMany 级联删除中间表(注意不删除外部根)
public DateTime Time { get; set; }
}
Dictionary<string, Dictionary<string, EntityState>> _states = new Dictionary<string, Dictionary<string, EntityState>>();
bool? ExistsInStates(ZoreTableInfo table, T data)
bool? ExistsInStates(ZeroTableInfo table, T data)
{
if (data == null) throw new ArgumentNullException(nameof(data));
var key = GetEntityKeyString(table, data);
@ -1131,17 +1131,17 @@ ManyToMany 级联删除中间表(注意不删除外部根)
class TrackingChangeInfo
{
public List<NativeTuple<ZoreTableInfo, T>> InsertLog { get; } = new List<NativeTuple<ZoreTableInfo, T>>();
public List<NativeTuple<ZoreTableInfo, T, T, List<string>>> UpdateLog { get; } = new List<NativeTuple<ZoreTableInfo, T, T, List<string>>>();
public List<NativeTuple<ZoreTableInfo, T[]>> DeleteLog { get; } = new List<NativeTuple<ZoreTableInfo, T[]>>();
public List<NativeTuple<ZeroTableInfo, T>> InsertLog { get; } = new List<NativeTuple<ZeroTableInfo, T>>();
public List<NativeTuple<ZeroTableInfo, T, T, List<string>>> UpdateLog { get; } = new List<NativeTuple<ZeroTableInfo, T, T, List<string>>>();
public List<NativeTuple<ZeroTableInfo, T[]>> DeleteLog { get; } = new List<NativeTuple<ZeroTableInfo, T[]>>();
}
void CompareEntityValue(ZoreTableInfo rootTable, T rootEntityBefore, T rootEntityAfter, TrackingChangeInfo tracking)
void CompareEntityValue(ZeroTableInfo rootTable, T rootEntityBefore, T rootEntityAfter, TrackingChangeInfo tracking)
{
var rootIgnores = new Dictionary<string, Dictionary<string, bool>>(); //比如 Tree 结构可以递归添加
LocalCompareEntityValue(rootTable, rootEntityBefore, rootEntityAfter, true);
rootIgnores.Clear();
void LocalCompareEntityValue(ZoreTableInfo table, T entityBefore, T entityAfter, bool cascade)
void LocalCompareEntityValue(ZeroTableInfo table, T entityBefore, T entityAfter, bool cascade)
{
if (entityBefore != null)
{
@ -1211,7 +1211,7 @@ ManyToMany 级联删除中间表(注意不删除外部根)
}
}
}
void LocalCompareEntityValueCollection(ZoreTableInfo elementTable, IEnumerable collectionBefore, IEnumerable collectionAfter, bool cascade)
void LocalCompareEntityValueCollection(ZeroTableInfo elementTable, IEnumerable collectionBefore, IEnumerable collectionAfter, bool cascade)
{
if (collectionBefore == null && collectionAfter == null) return;
if (collectionBefore == null && collectionAfter != null)
@ -1271,7 +1271,7 @@ ManyToMany 级联删除中间表(注意不删除外部根)
foreach (var key in dictBefore.Keys)
LocalCompareEntityValue(elementTable, dictBefore[key], dictAfter.TryGetValue(key, out var afterItem) ? afterItem : null, cascade);
}
void NavigateReader(ZoreTableInfo readerTable, T readerEntity, Action<string, ZoreTableRef, ZoreTableInfo, List<object>> callback)
void NavigateReader(ZeroTableInfo readerTable, T readerEntity, Action<string, ZeroTableRef, ZeroTableInfo, List<object>> callback)
{
var ignores = new Dictionary<string, Dictionary<string, bool>>(); //比如 Tree 结构可以递归添加
var statckPath = new Stack<string>();
@ -1281,7 +1281,7 @@ ManyToMany 级联删除中间表(注意不删除外部根)
LocalNavigateReader(readerTable, readerEntity);
ignores.Clear();
void LocalNavigateReader(ZoreTableInfo table, T entity)
void LocalNavigateReader(ZeroTableInfo table, T entity)
{
if (entity == null) return;
var stateKey = GetEntityKeyString(table, entity);
@ -1418,7 +1418,7 @@ ManyToMany 级联删除中间表(注意不删除外部根)
return object.Equals(propvalBefore, propvalAfter);
}
List<T> GetManyToManyObjects(ZoreTableRef nav, T entity, string navName)
List<T> GetManyToManyObjects(ZeroTableRef nav, T entity, string navName)
{
if (nav.RefType != TableRefType.ManyToMany) return null;
if (entity.TryGetValue(navName, out var rightsObj) == false || rightsObj is IEnumerable rights == false || rights == null) return null;
@ -1442,7 +1442,7 @@ ManyToMany 级联删除中间表(注意不删除外部根)
}
return middles;
}
void SetNavigateRelationshipValue(ZoreTableRef nav, T leftItem, object rightItem)
void SetNavigateRelationshipValue(ZeroTableRef nav, T leftItem, object rightItem)
{
switch (nav.RefType)
{

View File

@ -3,7 +3,7 @@ using FreeSql.Internal.Model;
using System;
using System.Collections.Generic;
namespace FreeSql.Extensions.ZoreEntity
namespace FreeSql.Extensions.ZeroEntity
{
public class TableDescriptor
{
@ -78,20 +78,20 @@ namespace FreeSql.Extensions.ZoreEntity
}
class ZoreTableRef
class ZeroTableRef
{
internal string NavigateKey { get; set; }
public TableRefType RefType { get; set; }
internal ZoreTableInfo Table { get; set; }
internal ZoreTableInfo RefTable { get; set; }
internal ZoreTableInfo RefMiddleTable { get; set; }
internal ZeroTableInfo Table { get; set; }
internal ZeroTableInfo RefTable { get; set; }
internal ZeroTableInfo RefMiddleTable { get; set; }
public List<string> Columns { get; set; } = new List<string>();
public List<string> MiddleColumns { get; set; } = new List<string>();
public List<string> RefColumns { get; set; } = new List<string>();
}
class ZoreTableInfo : TableInfo
class ZeroTableInfo : TableInfo
{
public Dictionary<string, ZoreTableRef> Navigates { get; set; } = new Dictionary<string, ZoreTableRef>(StringComparer.OrdinalIgnoreCase);
public Dictionary<string, ZeroTableRef> Navigates { get; set; } = new Dictionary<string, ZeroTableRef>(StringComparer.OrdinalIgnoreCase);
}
}

View File

@ -5,7 +5,7 @@ VisualStudioVersion = 17.0.31903.59
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FreeSql", "FreeSql\FreeSql.csproj", "{3AAE17E8-8608-4905-826A-6DB68F75F339}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FreeSql.Extensions.ZoreEntity", "Extensions\FreeSql.Extensions.ZoreEntity\FreeSql.Extensions.ZoreEntity.csproj", "{E0480E6F-CFCD-4108-969C-448E44023C97}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FreeSql.Extensions.ZeroEntity", "Extensions\FreeSql.Extensions.ZeroEntity\FreeSql.Extensions.ZeroEntity.csproj", "{E0480E6F-CFCD-4108-969C-448E44023C97}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FreeSql.Provider.Sqlite", "Providers\FreeSql.Provider.Sqlite\FreeSql.Provider.Sqlite.csproj", "{5E4928F2-E52B-4563-9FF7-C0A4119E6596}"
EndProject

View File

@ -89,7 +89,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FreeSql.Provider.QuestDb",
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FreeSql.Provider.Xugu", "Providers\FreeSql.Provider.Xugu\FreeSql.Provider.Xugu.csproj", "{353F3732-0704-40F2-972B-036E9CC01881}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FreeSql.Extensions.ZoreEntity", "Extensions\FreeSql.Extensions.ZoreEntity\FreeSql.Extensions.ZoreEntity.csproj", "{4367B7AC-604F-4503-A1D4-643ADBFCF703}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FreeSql.Extensions.ZeroEntity", "Extensions\FreeSql.Extensions.ZeroEntity\FreeSql.Extensions.ZeroEntity.csproj", "{4367B7AC-604F-4503-A1D4-643ADBFCF703}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution

View File

@ -125,7 +125,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FreeSql.Provider.Xugu", "Pr
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FreeSql.Tests.Provider.Xugu", "FreeSql.Tests\FreeSql.Tests.Provider.Xugu\FreeSql.Tests.Provider.Xugu.csproj", "{16C21D77-20AC-4722-AD97-F53BDDE8210C}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FreeSql.Extensions.ZoreEntity", "Extensions\FreeSql.Extensions.ZoreEntity\FreeSql.Extensions.ZoreEntity.csproj", "{D9419896-BFB0-47C1-BEFD-A6C48394643B}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FreeSql.Extensions.ZeroEntity", "Extensions\FreeSql.Extensions.ZeroEntity\FreeSql.Extensions.ZeroEntity.csproj", "{D9419896-BFB0-47C1-BEFD-A6C48394643B}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution