diff --git a/Extensions/FreeSql.Extensions.LazyLoading/FreeSql.Extensions.LazyLoading.csproj b/Extensions/FreeSql.Extensions.LazyLoading/FreeSql.Extensions.LazyLoading.csproj index eefa3548..ae2caae1 100644 --- a/Extensions/FreeSql.Extensions.LazyLoading/FreeSql.Extensions.LazyLoading.csproj +++ b/Extensions/FreeSql.Extensions.LazyLoading/FreeSql.Extensions.LazyLoading.csproj @@ -2,7 +2,7 @@ netstandard2.0 - 0.6.2 + 0.6.3 true YeXiangQin FreeSql 扩展包,可实现【延时加载】属性. diff --git a/FreeSql.Tests/UnitTest1.cs b/FreeSql.Tests/UnitTest1.cs index 4b6c705f..f9c9e131 100644 --- a/FreeSql.Tests/UnitTest1.cs +++ b/FreeSql.Tests/UnitTest1.cs @@ -106,11 +106,16 @@ namespace FreeSql.Tests { [Column(IsIdentity = true)] public int id { get; set; } - public string title { get; set; } + public string Title { get; set; } public Model1 Parent { get; set; } - public int parent_id { get; set; } + public int Parent_id { get; set; } + public string Ccc { get; set; } + public DateTime Date { get; set; } + + [Column(Name = "Waxxx2")] + public int Wa_xxx2 { get; set; } } public class TestEnumable : IEnumerable { @@ -128,9 +133,108 @@ namespace FreeSql.Tests { public Enum em { get; set; } } + /// + /// + /// + [Table(Name = "news_article")] + public class NewsArticle { + /// + /// + /// + [Column(Name = "article_id", IsIdentity = true, IsPrimary = true)] + public int ArticleId { get; set; } + + /// + /// + /// + [Column(Name = "article_title")] + public string ArticleTitle { get; set; } + + /// + /// + /// + [Column(Name = "category_id")] + public int CategoryId { get; set; } + + /// + /// + /// + [Column(Name = "channel_id")] + public int ChannelId { get; set; } + + /// + /// 类型 + /// + [Column(Name = "type_id")] + public int TypeId { get; set; } + + /// + /// 内容简介 + /// + [Column(Name = "summary")] + public string Summary { get; set; } + + /// + /// 缩略图 + /// + [Column(Name = "thumbnail")] + public string Thumbnail { get; set; } + + /// + /// 点击量 + /// + [Column(Name = "hits")] + public int Hits { get; set; } + + /// + /// + /// + [Column(Name = "is_display")] + public int IsDisplay { get; set; } + + /// + /// + /// + [Column(Name = "status")] + public int Status { get; set; } + + /// + /// + /// + [Column(Name = "create_time")] + public int CreateTime { get; set; } + + /// + /// + /// + [Column(Name = "release_time")] + public int ReleaseTime { get; set; } + + } + [Fact] public void Test1() { + var entity = new NewsArticle { + ArticleId = 1, + ArticleTitle = "测试标题" + }; + var where = new NewsArticle { + ArticleId = 1, + ChannelId = 1, + }; + var sqldddkdk = g.mysql.Update(where) + .SetSource(entity) + .UpdateColumns(x => new { x.Status, x.CategoryId, x.ArticleTitle }) + .ToSql(); + + + var sql1111333 = g.mysql.Update() + .SetSource(new Model2 { id = 1, Title = "xxx", Parent_id = 0 }) + .UpdateColumns(x => new { x.Parent_id, x.Date, x.Wa_xxx2 }) + .NoneParameter() + .ToSql(); + g.sqlite.Insert(new TestEnum { }).ExecuteAffrows(); var telist = g.sqlite.Select().ToList(); @@ -145,16 +249,16 @@ namespace FreeSql.Tests { M2Id = DateTime.Now.Second + DateTime.Now.Minute, Childs = new[] { new Model2 { - title = "model2Test_title_" + DateTime.Now.ToString("yyyyMMddHHmmss") + "0001", + Title = "model2Test_title_" + DateTime.Now.ToString("yyyyMMddHHmmss") + "0001", }, new Model2 { - title = "model2Test_title_" + DateTime.Now.ToString("yyyyMMddHHmmss") + "0002", + Title = "model2Test_title_" + DateTime.Now.ToString("yyyyMMddHHmmss") + "0002", }, new Model2 { - title = "model2Test_title_" + DateTime.Now.ToString("yyyyMMddHHmmss") + "0003", + Title = "model2Test_title_" + DateTime.Now.ToString("yyyyMMddHHmmss") + "0003", }, new Model2 { - title = "model2Test_title_" + DateTime.Now.ToString("yyyyMMddHHmmss") + "0004", + Title = "model2Test_title_" + DateTime.Now.ToString("yyyyMMddHHmmss") + "0004", } } }); @@ -183,7 +287,7 @@ namespace FreeSql.Tests { - var ttt1 = g.sqlite.Select().Where(a => a.Childs.AsSelect().Any(b => b.title == "111")).ToList(); + var ttt1 = g.sqlite.Select().Where(a => a.Childs.AsSelect().Any(b => b.Title == "111")).ToList(); diff --git a/FreeSql/FreeSql.csproj b/FreeSql/FreeSql.csproj index b8342ba7..ab936e84 100644 --- a/FreeSql/FreeSql.csproj +++ b/FreeSql/FreeSql.csproj @@ -2,7 +2,7 @@ netstandard2.0;net45 - 0.6.2 + 0.6.3 true YeXiangQin FreeSql is the most convenient ORM in dotnet. It supports Mysql, Postgresql, SqlServer, Oracle and Sqlite. diff --git a/FreeSql/Internal/CommonProvider/UpdateProvider.cs b/FreeSql/Internal/CommonProvider/UpdateProvider.cs index 68ced821..e34d715a 100644 --- a/FreeSql/Internal/CommonProvider/UpdateProvider.cs +++ b/FreeSql/Internal/CommonProvider/UpdateProvider.cs @@ -458,7 +458,7 @@ namespace FreeSql.Internal.CommonProvider { _paramsSource.Clear(); var colidx = 0; foreach (var col in _table.Columns.Values) { - if (col.Attribute.IsIdentity == false && col.Attribute.IsVersion == false && _ignore.ContainsKey(col.CsName) == false) { + if (col.Attribute.IsIdentity == false && col.Attribute.IsVersion == false && _ignore.ContainsKey(col.Attribute.Name) == false) { if (colidx > 0) sb.Append(", "); sb.Append(_commonUtils.QuoteSqlName(col.Attribute.Name)).Append(" = "); var value = col.GetMapValue(_source.First()); @@ -484,7 +484,7 @@ namespace FreeSql.Internal.CommonProvider { _paramsSource.Clear(); var colidx = 0; foreach (var col in _table.Columns.Values) { - if (col.Attribute.IsIdentity == false && col.Attribute.IsVersion == false && _ignore.ContainsKey(col.CsName) == false) { + if (col.Attribute.IsIdentity == false && col.Attribute.IsVersion == false && _ignore.ContainsKey(col.Attribute.Name) == false) { if (colidx > 0) sb.Append(", "); sb.Append(_commonUtils.QuoteSqlName(col.Attribute.Name)).Append(" = "); diff --git a/Providers/FreeSql.Provider.MySql/FreeSql.Provider.MySql.csproj b/Providers/FreeSql.Provider.MySql/FreeSql.Provider.MySql.csproj index 65e13c74..6a343c57 100644 --- a/Providers/FreeSql.Provider.MySql/FreeSql.Provider.MySql.csproj +++ b/Providers/FreeSql.Provider.MySql/FreeSql.Provider.MySql.csproj @@ -2,7 +2,7 @@ netstandard2.0;net452 - 0.6.2 + 0.6.3 true YeXiangQin FreeSql 数据库实现,基于 MySql 5.6 diff --git a/Providers/FreeSql.Provider.MySqlConnector/FreeSql.Provider.MySqlConnector.csproj b/Providers/FreeSql.Provider.MySqlConnector/FreeSql.Provider.MySqlConnector.csproj index ed132945..7cf27c37 100644 --- a/Providers/FreeSql.Provider.MySqlConnector/FreeSql.Provider.MySqlConnector.csproj +++ b/Providers/FreeSql.Provider.MySqlConnector/FreeSql.Provider.MySqlConnector.csproj @@ -2,7 +2,7 @@ netstandard2.0;net45 - 0.6.2 + 0.6.3 true YeXiangQin FreeSql 数据库实现,基于 MySql 5.6 diff --git a/Providers/FreeSql.Provider.Oracle/FreeSql.Provider.Oracle.csproj b/Providers/FreeSql.Provider.Oracle/FreeSql.Provider.Oracle.csproj index 7244b7c9..65a25680 100644 --- a/Providers/FreeSql.Provider.Oracle/FreeSql.Provider.Oracle.csproj +++ b/Providers/FreeSql.Provider.Oracle/FreeSql.Provider.Oracle.csproj @@ -2,7 +2,7 @@ netstandard2.0;net45 - 0.6.2 + 0.6.3 true YeXiangQin FreeSql 数据库实现,基于 Oracle 11 diff --git a/Providers/FreeSql.Provider.PostgreSQL/FreeSql.Provider.PostgreSQL.csproj b/Providers/FreeSql.Provider.PostgreSQL/FreeSql.Provider.PostgreSQL.csproj index 9561f1a8..f72aa2fd 100644 --- a/Providers/FreeSql.Provider.PostgreSQL/FreeSql.Provider.PostgreSQL.csproj +++ b/Providers/FreeSql.Provider.PostgreSQL/FreeSql.Provider.PostgreSQL.csproj @@ -2,7 +2,7 @@ netstandard2.0;net45 - 0.6.2 + 0.6.3 true YeXiangQin FreeSql 数据库实现,基于 PostgreSQL 9.5 diff --git a/Providers/FreeSql.Provider.SqlServer/FreeSql.Provider.SqlServer.csproj b/Providers/FreeSql.Provider.SqlServer/FreeSql.Provider.SqlServer.csproj index 302cf2c7..06f8c7ab 100644 --- a/Providers/FreeSql.Provider.SqlServer/FreeSql.Provider.SqlServer.csproj +++ b/Providers/FreeSql.Provider.SqlServer/FreeSql.Provider.SqlServer.csproj @@ -2,7 +2,7 @@ netstandard2.0;net451 - 0.6.2 + 0.6.3 true YeXiangQin FreeSql 数据库实现,基于 SqlServer 2005+,并根据版本适配分页方法:row_number 或 offset fetch next diff --git a/Providers/FreeSql.Provider.Sqlite/FreeSql.Provider.Sqlite.csproj b/Providers/FreeSql.Provider.Sqlite/FreeSql.Provider.Sqlite.csproj index 6be75fce..c935571a 100644 --- a/Providers/FreeSql.Provider.Sqlite/FreeSql.Provider.Sqlite.csproj +++ b/Providers/FreeSql.Provider.Sqlite/FreeSql.Provider.Sqlite.csproj @@ -2,7 +2,7 @@ netstandard2.0;net45 - 0.6.2 + 0.6.3 true YeXiangQin FreeSql 数据库实现,基于 Sqlite 3.0