mirror of
https://github.com/nsnail/FreeSql.git
synced 2025-04-22 10:42:52 +08:00
- 增加 Navigate 属性未设置 set 时的友好错误提示;
- 增加 延时属性重写类对 protected set 的支持;
This commit is contained in:
parent
500a4d02f3
commit
cb366cc771
@ -49,6 +49,9 @@ namespace base_entity
|
|||||||
BaseEntity.Initialization(fsql);
|
BaseEntity.Initialization(fsql);
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
var test01 = EMSServerModel.Model.User.Select.IncludeMany(a => a.Roles).ToList();
|
||||||
|
var test01tb = EMSServerModel.Model.User.Orm.CodeFirst.GetTableByEntity(typeof(EMSServerModel.Model.User));
|
||||||
|
|
||||||
var us = User1.Select.Limit(10).ToList();
|
var us = User1.Select.Limit(10).ToList();
|
||||||
|
|
||||||
new Products { title = "product-1" }.Save();
|
new Products { title = "product-1" }.Save();
|
||||||
|
52
Examples/base_entity/Test01/Role.cs
Normal file
52
Examples/base_entity/Test01/Role.cs
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using Newtonsoft.Json;
|
||||||
|
using FreeSql.DataAnnotations;
|
||||||
|
using FreeSql;
|
||||||
|
|
||||||
|
namespace EMSServerModel.Model
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 角色表
|
||||||
|
/// </summary>
|
||||||
|
[JsonObject(MemberSerialization.OptIn)]
|
||||||
|
public partial class Role : BaseEntity<Role>{
|
||||||
|
/// <summary>
|
||||||
|
/// 角色编号
|
||||||
|
/// </summary>
|
||||||
|
[JsonProperty, Column(IsPrimary = true, IsIdentity = true)]
|
||||||
|
public long RoleId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 角色名称
|
||||||
|
/// </summary>
|
||||||
|
[JsonProperty, Column(DbType = "varchar(50)")]
|
||||||
|
public string RoleName { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 角色描述
|
||||||
|
/// </summary>
|
||||||
|
[JsonProperty, Column(DbType = "varchar(50)")]
|
||||||
|
public string RoleDesc { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
///// <summary>
|
||||||
|
///// 创建时间
|
||||||
|
///// </summary>
|
||||||
|
//[JsonProperty, Column(DbType = "date")]
|
||||||
|
//public DateTime CreateTime { get; set; } = DateTime.Now;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 启用
|
||||||
|
/// </summary>
|
||||||
|
[JsonProperty]
|
||||||
|
public bool IsEnable { get; set; } = true;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 角色用户多对多导航
|
||||||
|
/// </summary>
|
||||||
|
[Navigate(ManyToMany = typeof(UserRole))]
|
||||||
|
public virtual ICollection<User> Users { get; protected set; }
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
154
Examples/base_entity/Test01/User.cs
Normal file
154
Examples/base_entity/Test01/User.cs
Normal file
@ -0,0 +1,154 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using Newtonsoft.Json;
|
||||||
|
using FreeSql.DataAnnotations;
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using FreeSql;
|
||||||
|
|
||||||
|
namespace EMSServerModel.Model
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 用户表
|
||||||
|
/// </summary>
|
||||||
|
[JsonObject(MemberSerialization.OptIn)]
|
||||||
|
public partial class User : BaseEntity<User, long>{
|
||||||
|
|
||||||
|
//[JsonProperty, Column(IsIdentity = true)]
|
||||||
|
//public long Id { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 编号
|
||||||
|
/// </summary>
|
||||||
|
[JsonProperty, Column(DbType = "varchar(50)", IsPrimary = true)]
|
||||||
|
public string UserId { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 头像
|
||||||
|
/// </summary>
|
||||||
|
[JsonProperty, Column(DbType = "varchar(50)")]
|
||||||
|
public string Avatar { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 姓名
|
||||||
|
/// </summary>
|
||||||
|
[JsonProperty, Column(DbType = "varchar(50)")]
|
||||||
|
public string UserName { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 艺名
|
||||||
|
/// </summary>
|
||||||
|
[JsonProperty, Column(DbType = "varchar(50)")]
|
||||||
|
public string NickName { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 电话
|
||||||
|
/// </summary>
|
||||||
|
[JsonProperty, Column(DbType = "varchar(50)")]
|
||||||
|
public string Tel { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 性别
|
||||||
|
/// </summary>
|
||||||
|
[JsonProperty]
|
||||||
|
public Sex Sex { get; set; } = Sex.男;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 证件号
|
||||||
|
/// </summary>
|
||||||
|
[JsonProperty, Column(DbType = "varchar(50)")]
|
||||||
|
public string UID { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 生日
|
||||||
|
/// </summary>
|
||||||
|
[JsonProperty, Column(DbType = "date")]
|
||||||
|
public DateTime? DateOfBirth { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 出生地
|
||||||
|
/// </summary>
|
||||||
|
[JsonProperty, Column(DbType = "varchar(50)")]
|
||||||
|
public string PlaceOfBirth { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 居住地
|
||||||
|
/// </summary>
|
||||||
|
[JsonProperty, Column(DbType = "varchar(50)")]
|
||||||
|
public string Addr { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 密码
|
||||||
|
/// </summary>
|
||||||
|
[JsonProperty, Column(DbType = "varchar(50)")]
|
||||||
|
public string Pwd { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 部门编号
|
||||||
|
/// </summary>
|
||||||
|
[JsonProperty]
|
||||||
|
public long? DeptId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 职务编号
|
||||||
|
/// </summary>
|
||||||
|
[JsonProperty]
|
||||||
|
public long? TitleId { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
///// <summary>
|
||||||
|
///// 创建时间
|
||||||
|
///// </summary>
|
||||||
|
//[JsonProperty, Column(DbType = "date")]
|
||||||
|
//public DateTime CreateTime { get; set; } = DateTime.Now;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 国籍
|
||||||
|
/// </summary>
|
||||||
|
[JsonProperty, Column(DbType = "varchar(50)")]
|
||||||
|
public string Nationality { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 经手人
|
||||||
|
/// </summary>
|
||||||
|
[JsonProperty, Column(DbType = "varchar(50)")]
|
||||||
|
public string Handler { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 启用
|
||||||
|
/// </summary>
|
||||||
|
[JsonProperty]
|
||||||
|
public bool IsEnable { get; set; } = true;
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 备注
|
||||||
|
/// </summary>
|
||||||
|
[JsonProperty, Column(DbType = "varchar(100)")]
|
||||||
|
public string Memos { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
|
[Navigate(ManyToMany = typeof(UserRole))]
|
||||||
|
public virtual ICollection<Role> Roles { get; protected set; }
|
||||||
|
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// 性别枚举
|
||||||
|
/// </summary>
|
||||||
|
public enum Sex
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 女=0
|
||||||
|
/// </summary>
|
||||||
|
女=0,
|
||||||
|
/// <summary>
|
||||||
|
/// 男=1
|
||||||
|
/// </summary>
|
||||||
|
男=1
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
36
Examples/base_entity/Test01/UserRole.cs
Normal file
36
Examples/base_entity/Test01/UserRole.cs
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
using Newtonsoft.Json;
|
||||||
|
using FreeSql.DataAnnotations;
|
||||||
|
using FreeSql;
|
||||||
|
|
||||||
|
namespace EMSServerModel.Model
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 用户角色关系表
|
||||||
|
/// </summary>
|
||||||
|
[JsonObject(MemberSerialization.OptIn)]
|
||||||
|
public partial class UserRole : BaseEntity<UserRole>{
|
||||||
|
/// <summary>
|
||||||
|
/// 角色编号
|
||||||
|
/// </summary>
|
||||||
|
[JsonProperty]
|
||||||
|
public long RoleId { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// 角色导航
|
||||||
|
/// </summary>
|
||||||
|
[Navigate("RoleId")]
|
||||||
|
public Role Roles { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 用户编号
|
||||||
|
/// </summary>
|
||||||
|
[JsonProperty, Column(DbType = "varchar(50)")]
|
||||||
|
public string UserId { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// 用户导航
|
||||||
|
/// </summary>
|
||||||
|
[Navigate("UserId")]
|
||||||
|
public User Users { get; set; }
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -29,5 +29,170 @@
|
|||||||
描述
|
描述
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="T:EMSServerModel.Model.Role">
|
||||||
|
<summary>
|
||||||
|
角色表
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:EMSServerModel.Model.Role.RoleId">
|
||||||
|
<summary>
|
||||||
|
角色编号
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:EMSServerModel.Model.Role.RoleName">
|
||||||
|
<summary>
|
||||||
|
角色名称
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:EMSServerModel.Model.Role.RoleDesc">
|
||||||
|
<summary>
|
||||||
|
角色描述
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:EMSServerModel.Model.Role.IsEnable">
|
||||||
|
<summary>
|
||||||
|
启用
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:EMSServerModel.Model.Role.Users">
|
||||||
|
<summary>
|
||||||
|
角色用户多对多导航
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:EMSServerModel.Model.User">
|
||||||
|
<summary>
|
||||||
|
用户表
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:EMSServerModel.Model.User.UserId">
|
||||||
|
<summary>
|
||||||
|
编号
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:EMSServerModel.Model.User.Avatar">
|
||||||
|
<summary>
|
||||||
|
头像
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:EMSServerModel.Model.User.UserName">
|
||||||
|
<summary>
|
||||||
|
姓名
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:EMSServerModel.Model.User.NickName">
|
||||||
|
<summary>
|
||||||
|
艺名
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:EMSServerModel.Model.User.Tel">
|
||||||
|
<summary>
|
||||||
|
电话
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:EMSServerModel.Model.User.Sex">
|
||||||
|
<summary>
|
||||||
|
性别
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:EMSServerModel.Model.User.UID">
|
||||||
|
<summary>
|
||||||
|
证件号
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:EMSServerModel.Model.User.DateOfBirth">
|
||||||
|
<summary>
|
||||||
|
生日
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:EMSServerModel.Model.User.PlaceOfBirth">
|
||||||
|
<summary>
|
||||||
|
出生地
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:EMSServerModel.Model.User.Addr">
|
||||||
|
<summary>
|
||||||
|
居住地
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:EMSServerModel.Model.User.Pwd">
|
||||||
|
<summary>
|
||||||
|
密码
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:EMSServerModel.Model.User.DeptId">
|
||||||
|
<summary>
|
||||||
|
部门编号
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:EMSServerModel.Model.User.TitleId">
|
||||||
|
<summary>
|
||||||
|
职务编号
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:EMSServerModel.Model.User.Nationality">
|
||||||
|
<summary>
|
||||||
|
国籍
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:EMSServerModel.Model.User.Handler">
|
||||||
|
<summary>
|
||||||
|
经手人
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:EMSServerModel.Model.User.IsEnable">
|
||||||
|
<summary>
|
||||||
|
启用
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:EMSServerModel.Model.User.Memos">
|
||||||
|
<summary>
|
||||||
|
备注
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:EMSServerModel.Model.User.Roles">
|
||||||
|
<summary>
|
||||||
|
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:EMSServerModel.Model.Sex">
|
||||||
|
<summary>
|
||||||
|
性别枚举
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="F:EMSServerModel.Model.Sex.女">
|
||||||
|
<summary>
|
||||||
|
女=0
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="F:EMSServerModel.Model.Sex.男">
|
||||||
|
<summary>
|
||||||
|
男=1
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:EMSServerModel.Model.UserRole">
|
||||||
|
<summary>
|
||||||
|
用户角色关系表
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:EMSServerModel.Model.UserRole.RoleId">
|
||||||
|
<summary>
|
||||||
|
角色编号
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:EMSServerModel.Model.UserRole.Roles">
|
||||||
|
<summary>
|
||||||
|
角色导航
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:EMSServerModel.Model.UserRole.UserId">
|
||||||
|
<summary>
|
||||||
|
用户编号
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:EMSServerModel.Model.UserRole.Users">
|
||||||
|
<summary>
|
||||||
|
用户导航
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
</members>
|
</members>
|
||||||
</doc>
|
</doc>
|
||||||
|
@ -66,7 +66,7 @@ namespace FreeSql.Internal
|
|||||||
trytb.DbOldName = trytb.DbOldName?.ToUpper();
|
trytb.DbOldName = trytb.DbOldName?.ToUpper();
|
||||||
}
|
}
|
||||||
if (tbattr != null) trytb.DisableSyncStructure = tbattr.DisableSyncStructure;
|
if (tbattr != null) trytb.DisableSyncStructure = tbattr.DisableSyncStructure;
|
||||||
var propsLazy = new List<NaviteTuple<PropertyInfo, bool, bool>>();
|
var propsLazy = new List<NaviteTuple<PropertyInfo, bool, bool, MethodInfo, MethodInfo>>();
|
||||||
var propsNavObjs = new List<PropertyInfo>();
|
var propsNavObjs = new List<PropertyInfo>();
|
||||||
var propsComment = CommonUtils.GetProperyCommentBySummary(entity);
|
var propsComment = CommonUtils.GetProperyCommentBySummary(entity);
|
||||||
var columnsList = new List<ColumnInfo>();
|
var columnsList = new List<ColumnInfo>();
|
||||||
@ -79,6 +79,9 @@ namespace FreeSql.Internal
|
|||||||
{
|
{
|
||||||
if (colattr == null) colattr = new ColumnAttribute { IsIgnore = true };
|
if (colattr == null) colattr = new ColumnAttribute { IsIgnore = true };
|
||||||
else colattr.IsIgnore = true;
|
else colattr.IsIgnore = true;
|
||||||
|
//Navigate 错误提示
|
||||||
|
var pnvAttr = common.GetEntityNavigateAttribute(trytb.Type, p);
|
||||||
|
if (pnvAttr != null) throw new Exception($"【导航属性】{trytb.Type.DisplayCsharp()}.{p.Name} 缺少 set 属性");
|
||||||
}
|
}
|
||||||
if (tp == null && colattr?.IsIgnore != true)
|
if (tp == null && colattr?.IsIgnore != true)
|
||||||
{
|
{
|
||||||
@ -88,7 +91,7 @@ namespace FreeSql.Internal
|
|||||||
var getIsVirtual = getMethod?.IsVirtual == true && getMethod?.IsFinal == false;// trytb.Type.GetMethod($"get_{p.Name}")?.IsVirtual;
|
var getIsVirtual = getMethod?.IsVirtual == true && getMethod?.IsFinal == false;// trytb.Type.GetMethod($"get_{p.Name}")?.IsVirtual;
|
||||||
var setIsVirtual = setMethod?.IsVirtual == true && setMethod?.IsFinal == false;
|
var setIsVirtual = setMethod?.IsVirtual == true && setMethod?.IsFinal == false;
|
||||||
if (getIsVirtual == true || setIsVirtual == true)
|
if (getIsVirtual == true || setIsVirtual == true)
|
||||||
propsLazy.Add(NaviteTuple.Create(p, getIsVirtual, setIsVirtual));
|
propsLazy.Add(NaviteTuple.Create(p, getIsVirtual, setIsVirtual, getMethod, setMethod));
|
||||||
}
|
}
|
||||||
propsNavObjs.Add(p);
|
propsNavObjs.Add(p);
|
||||||
continue;
|
continue;
|
||||||
@ -446,10 +449,17 @@ namespace FreeSql.Internal
|
|||||||
|
|
||||||
return tbc.TryGetValue(entity, out var trytb2) ? trytb2 : trytb;
|
return tbc.TryGetValue(entity, out var trytb2) ? trytb2 : trytb;
|
||||||
}
|
}
|
||||||
public static void AddTableRef(CommonUtils common, TableInfo trytb, PropertyInfo pnv, bool isLazy, NaviteTuple<PropertyInfo, bool, bool> vp, StringBuilder cscode)
|
public static void AddTableRef(CommonUtils common, TableInfo trytb, PropertyInfo pnv, bool isLazy, NaviteTuple<PropertyInfo, bool, bool, MethodInfo, MethodInfo> vp, StringBuilder cscode)
|
||||||
{
|
{
|
||||||
|
var getMethod = vp?.Item4;
|
||||||
|
var setMethod = vp?.Item5;
|
||||||
var trytbTypeName = trytb.Type.DisplayCsharp();
|
var trytbTypeName = trytb.Type.DisplayCsharp();
|
||||||
var propTypeName = pnv.PropertyType.DisplayCsharp();
|
var propTypeName = pnv.PropertyType.DisplayCsharp();
|
||||||
|
var propModification = (getMethod?.IsPublic == true || setMethod?.IsPublic == true ? "public " : (getMethod?.IsAssembly == true || setMethod?.IsAssembly == true ? "internal " : (getMethod?.IsFamily == true || setMethod?.IsFamily == true ? "protected " : (getMethod?.IsPrivate == true || setMethod?.IsPrivate == true ? "private " : ""))));
|
||||||
|
var propSetModification = (setMethod?.IsPublic == true ? "public " : (setMethod?.IsAssembly == true ? "internal " : (setMethod?.IsFamily == true ? "protected " : (setMethod?.IsPrivate == true ? "private " : ""))));
|
||||||
|
var propGetModification = (getMethod?.IsPublic == true ? "public " : (getMethod?.IsAssembly == true ? "internal " : (getMethod?.IsFamily == true ? "protected " : (getMethod?.IsPrivate == true ? "private " : ""))));
|
||||||
|
if (propSetModification == propModification) propSetModification = "";
|
||||||
|
if (propGetModification == propModification) propGetModification = "";
|
||||||
|
|
||||||
var pnvAttr = common.GetEntityNavigateAttribute(trytb.Type, pnv);
|
var pnvAttr = common.GetEntityNavigateAttribute(trytb.Type, pnv);
|
||||||
var pnvBind = pnvAttr?.Bind?.Split(',').Select(a => a.Trim()).Where(a => !string.IsNullOrEmpty(a)).ToArray();
|
var pnvBind = pnvAttr?.Bind?.Split(',').Select(a => a.Trim()).Where(a => !string.IsNullOrEmpty(a)).ToArray();
|
||||||
@ -788,10 +798,10 @@ namespace FreeSql.Internal
|
|||||||
if (isLazy)
|
if (isLazy)
|
||||||
{
|
{
|
||||||
cscode.Append(" private bool __lazy__").Append(pnv.Name).AppendLine(" = false;")
|
cscode.Append(" private bool __lazy__").Append(pnv.Name).AppendLine(" = false;")
|
||||||
.Append(" public override ").Append(propTypeName).Append(" ").Append(pnv.Name).AppendLine(" {");
|
.Append(" ").Append(propModification).Append(" override ").Append(propTypeName).Append(" ").Append(pnv.Name).AppendLine(" {");
|
||||||
if (vp?.Item2 == true)
|
if (vp?.Item2 == true)
|
||||||
{ //get 重写
|
{ //get 重写
|
||||||
cscode.Append(" get {\r\n")
|
cscode.Append(" ").Append(propGetModification).Append(" get {\r\n")
|
||||||
.Append(" if (base.").Append(pnv.Name).Append(" == null && __lazy__").Append(pnv.Name).AppendLine(" == false) {");
|
.Append(" if (base.").Append(pnv.Name).Append(" == null && __lazy__").Append(pnv.Name).AppendLine(" == false) {");
|
||||||
|
|
||||||
if (nvref.Exception == null)
|
if (nvref.Exception == null)
|
||||||
@ -808,7 +818,7 @@ namespace FreeSql.Internal
|
|||||||
}
|
}
|
||||||
if (vp?.Item3 == true)
|
if (vp?.Item3 == true)
|
||||||
{ //set 重写
|
{ //set 重写
|
||||||
cscode.Append(" set {\r\n")
|
cscode.Append(" ").Append(propSetModification).Append(" set {\r\n")
|
||||||
.Append(" base.").Append(pnv.Name).AppendLine(" = value;")
|
.Append(" base.").Append(pnv.Name).AppendLine(" = value;")
|
||||||
.Append(" }\r\n");
|
.Append(" }\r\n");
|
||||||
}
|
}
|
||||||
@ -923,10 +933,10 @@ namespace FreeSql.Internal
|
|||||||
if (isLazy)
|
if (isLazy)
|
||||||
{
|
{
|
||||||
cscode.Append(" private bool __lazy__").Append(pnv.Name).AppendLine(" = false;")
|
cscode.Append(" private bool __lazy__").Append(pnv.Name).AppendLine(" = false;")
|
||||||
.Append(" public override ").Append(propTypeName).Append(" ").Append(pnv.Name).AppendLine(" {");
|
.Append(" ").Append(propModification).Append(" override ").Append(propTypeName).Append(" ").Append(pnv.Name).AppendLine(" {");
|
||||||
if (vp?.Item2 == true)
|
if (vp?.Item2 == true)
|
||||||
{ //get 重写
|
{ //get 重写
|
||||||
cscode.Append(" get {\r\n")
|
cscode.Append(" ").Append(propGetModification).Append(" get {\r\n")
|
||||||
.Append(" if (base.").Append(pnv.Name).Append(" == null && __lazy__").Append(pnv.Name).AppendLine(" == false) {");
|
.Append(" if (base.").Append(pnv.Name).Append(" == null && __lazy__").Append(pnv.Name).AppendLine(" == false) {");
|
||||||
|
|
||||||
if (nvref.Exception == null)
|
if (nvref.Exception == null)
|
||||||
@ -949,7 +959,7 @@ namespace FreeSql.Internal
|
|||||||
}
|
}
|
||||||
if (vp?.Item3 == true)
|
if (vp?.Item3 == true)
|
||||||
{ //set 重写
|
{ //set 重写
|
||||||
cscode.Append(" set {\r\n")
|
cscode.Append(" ").Append(propSetModification).Append(" set {\r\n")
|
||||||
.Append(" base.").Append(pnv.Name).AppendLine(" = value;")
|
.Append(" base.").Append(pnv.Name).AppendLine(" = value;")
|
||||||
.Append(" }\r\n");
|
.Append(" }\r\n");
|
||||||
}
|
}
|
||||||
@ -1079,10 +1089,10 @@ namespace FreeSql.Internal
|
|||||||
if (isLazy)
|
if (isLazy)
|
||||||
{
|
{
|
||||||
cscode.Append(" private bool __lazy__").Append(pnv.Name).AppendLine(" = false;")
|
cscode.Append(" private bool __lazy__").Append(pnv.Name).AppendLine(" = false;")
|
||||||
.Append(" public override ").Append(propTypeName).Append(" ").Append(pnv.Name).AppendLine(" {");
|
.Append(" ").Append(propModification).Append(" override ").Append(propTypeName).Append(" ").Append(pnv.Name).AppendLine(" {");
|
||||||
if (vp?.Item2 == true)
|
if (vp?.Item2 == true)
|
||||||
{ //get 重写
|
{ //get 重写
|
||||||
cscode.Append(" get {\r\n")
|
cscode.Append(" ").Append(propGetModification).Append(" get {\r\n")
|
||||||
.Append(" if (base.").Append(pnv.Name).Append(" == null && __lazy__").Append(pnv.Name).AppendLine(" == false) {");
|
.Append(" if (base.").Append(pnv.Name).Append(" == null && __lazy__").Append(pnv.Name).AppendLine(" == false) {");
|
||||||
|
|
||||||
if (nvref.Exception == null)
|
if (nvref.Exception == null)
|
||||||
@ -1098,7 +1108,7 @@ namespace FreeSql.Internal
|
|||||||
}
|
}
|
||||||
if (vp?.Item3 == true)
|
if (vp?.Item3 == true)
|
||||||
{ //set 重写
|
{ //set 重写
|
||||||
cscode.Append(" set {\r\n")
|
cscode.Append(" ").Append(propSetModification).Append(" set {\r\n")
|
||||||
.Append(" base.").Append(pnv.Name).AppendLine(" = value;")
|
.Append(" base.").Append(pnv.Name).AppendLine(" = value;")
|
||||||
.Append(" __lazy__").Append(pnv.Name).AppendLine(" = true;")
|
.Append(" __lazy__").Append(pnv.Name).AppendLine(" = true;")
|
||||||
.Append(" }\r\n");
|
.Append(" }\r\n");
|
||||||
|
Loading…
x
Reference in New Issue
Block a user