diff --git a/FreeSql.DbContext/FreeSql.DbContext.xml b/FreeSql.DbContext/FreeSql.DbContext.xml
index 9f17feac..2c69043d 100644
--- a/FreeSql.DbContext/FreeSql.DbContext.xml
+++ b/FreeSql.DbContext/FreeSql.DbContext.xml
@@ -120,13 +120,6 @@
清空状态数据
-
-
- 根据 lambda 条件删除数据
-
-
-
-
添加
@@ -457,14 +450,5 @@
-
-
- 批量注入 Repository,可以参考代码自行调整
-
-
-
-
-
-
diff --git a/FreeSql.Tests/FreeSql.Tests/SqlServer/MapType/ToStringTest.cs b/FreeSql.Tests/FreeSql.Tests/SqlServer/MapType/ToStringTest.cs
index ab17e685..67f00b66 100644
--- a/FreeSql.Tests/FreeSql.Tests/SqlServer/MapType/ToStringTest.cs
+++ b/FreeSql.Tests/FreeSql.Tests/SqlServer/MapType/ToStringTest.cs
@@ -18,6 +18,7 @@ namespace FreeSql.Tests.SqlServerMapType
class ToStringMap
{
+ [Column(MapType = typeof(string))]
public Guid id { get; set; }
[Column(MapType = typeof(string))]
@@ -49,6 +50,19 @@ namespace FreeSql.Tests.SqlServerMapType
[Fact]
public void Enum1()
{
+ g.sqlserver.Aop.AuditValue += new EventHandler((s, e) =>
+ {
+ if (e.Column.CsType == typeof(Guid) &&
+ e.Column.Attribute.MapType == typeof(string) &&
+ e.Value?.ToString() == Guid.Empty.ToString())
+ e.Value = FreeUtil.NewMongodbId();
+ });
+
+ g.sqlserver.GetRepository().InsertOrUpdate(new ToStringMap
+ {
+
+ });
+
//insert
var orm = g.sqlserver;
var item = new ToStringMap { };
diff --git a/FreeSql/Extensions/EntityUtilExtensions.cs b/FreeSql/Extensions/EntityUtilExtensions.cs
index 044fd446..4236a48d 100644
--- a/FreeSql/Extensions/EntityUtilExtensions.cs
+++ b/FreeSql/Extensions/EntityUtilExtensions.cs
@@ -55,6 +55,7 @@ namespace FreeSql.Extensions.EntityUtil
{
Expression newguid = Expression.Call(MethodFreeUtilNewMongodbId);
if (pks[a].Attribute.MapType != pks[a].CsType) newguid = FreeSql.Internal.Utils.GetDataReaderValueBlockExpression(pks[a].CsType, newguid);
+ if (pks[a].CsType == typeof(Guid)) newguid = Expression.Convert(newguid, typeof(Guid));
if (pks[a].CsType == typeof(Guid?)) newguid = Expression.Convert(newguid, typeof(Guid?));
expthen = Expression.Block(
new Expression[]{