mirror of
https://github.com/nsnail/FreeSql.git
synced 2025-04-20 01:32:50 +08:00
* TableAttribute 禁用继承
* 修改package id 避免下载到原版 * 发布到nuget.org * xml注释文件 GenerateDocumentationFile * 解决SqlServer唯一索引不可插入多个NULL的问题 * Microsoft.Data.SqlClient 升级至 2.1.7 * 对于已经配置了TableNameImpl的表,也支持AsTable重设表名
This commit is contained in:
parent
eed213716f
commit
e46b474456
@ -9,7 +9,7 @@
|
||||
<PackageTags>FreeSql ORM DbContext</PackageTags>
|
||||
<RepositoryType>git</RepositoryType>
|
||||
<PackageLicenseExpression>MIT</PackageLicenseExpression>
|
||||
<PackageId>$(AssemblyName)</PackageId>
|
||||
<PackageId>$(AssemblyName).NS</PackageId>
|
||||
<PackageIcon>logo.png</PackageIcon>
|
||||
<Title>$(AssemblyName)</Title>
|
||||
<IsPackable>true</IsPackable>
|
||||
@ -17,7 +17,7 @@
|
||||
<SignAssembly>true</SignAssembly>
|
||||
<AssemblyOriginatorKeyFile>key.snk</AssemblyOriginatorKeyFile>
|
||||
<DelaySign>false</DelaySign>
|
||||
<Version>3.5.100-preview20240825</Version>
|
||||
<Version>3.5.100-preview20240825-ns1</Version>
|
||||
<PackageReadmeFile>readme.md</PackageReadmeFile>
|
||||
</PropertyGroup>
|
||||
|
||||
@ -26,7 +26,7 @@
|
||||
<None Include="../logo.png" Pack="true" PackagePath="\" />
|
||||
</ItemGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
||||
<PropertyGroup>
|
||||
<DocumentationFile>FreeSql.DbContext.xml</DocumentationFile>
|
||||
<WarningLevel>3</WarningLevel>
|
||||
<NoWarn>1701;1702;1591</NoWarn>
|
||||
|
@ -9,7 +9,10 @@ using System.Text.RegularExpressions;
|
||||
|
||||
namespace FreeSql.DataAnnotations
|
||||
{
|
||||
[AttributeUsage(AttributeTargets.Class)]
|
||||
|
||||
[AttributeUsage(AttributeTargets.Class
|
||||
//禁用继承 nsnail@2022年11月23日14:38:45
|
||||
, Inherited = false)]
|
||||
public class TableAttribute : Attribute
|
||||
{
|
||||
|
||||
|
@ -10,6 +10,7 @@
|
||||
<RepositoryType>git</RepositoryType>
|
||||
<PackageLicenseExpression>MIT</PackageLicenseExpression>
|
||||
<PackageTags>FreeSql;ORM</PackageTags>
|
||||
<PackageId>$(AssemblyName).NS</PackageId>
|
||||
<PackageIcon>logo.png</PackageIcon>
|
||||
<Title>$(AssemblyName)</Title>
|
||||
<IsPackable>true</IsPackable>
|
||||
@ -17,7 +18,7 @@
|
||||
<SignAssembly>true</SignAssembly>
|
||||
<AssemblyOriginatorKeyFile>key.snk</AssemblyOriginatorKeyFile>
|
||||
<DelaySign>false</DelaySign>
|
||||
<Version>3.5.100-preview20240825</Version>
|
||||
<Version>3.5.100-preview20240825-ns1</Version>
|
||||
<PackageReadmeFile>readme.md</PackageReadmeFile>
|
||||
</PropertyGroup>
|
||||
|
||||
@ -67,7 +68,7 @@
|
||||
</EmbeddedResource>
|
||||
</ItemGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
||||
<PropertyGroup>
|
||||
<DocumentationFile>FreeSql.xml</DocumentationFile>
|
||||
<WarningLevel>3</WarningLevel>
|
||||
<NoWarn>1701;1702;1591</NoWarn>
|
||||
|
@ -226,7 +226,8 @@ namespace FreeSql.Internal.CommonProvider
|
||||
if (_tableRule == null && _table.AsTableImpl == null) return _commonUtils.GetEntityTableAopName(_table, true);
|
||||
var tbname = _table?.DbName ?? "";
|
||||
string newname = null;
|
||||
if (_table.AsTableImpl != null)
|
||||
// 对于已经配置了TableNameImpl的表,也支持AsTable重设表名 by nsnail@2024年8月26日11:10:22
|
||||
if (_table.AsTableImpl != null && _tableRule == null)
|
||||
{
|
||||
if (_source.Any())
|
||||
newname = _table.AsTableImpl.GetTableNameByColumnValue(_table.AsTableColumn.GetValue(_source.FirstOrDefault()));
|
||||
|
@ -567,7 +567,8 @@ namespace FreeSql.Internal.CommonProvider
|
||||
if (_tableRule == null && _table.AsTableImpl == null) return _commonUtils.GetEntityTableAopName(_table, true);
|
||||
var tbname = _table?.DbName ?? "";
|
||||
string newname = null;
|
||||
if (_table.AsTableImpl != null)
|
||||
// 对于已经配置了TableNameImpl的表,也支持AsTable重设表名 by nsnail@2024年8月26日11:10:22
|
||||
if (_table.AsTableImpl != null && _tableRule == null)
|
||||
{
|
||||
if (_source.Any())
|
||||
newname = _table.AsTableImpl.GetTableNameByColumnValue(_table.AsTableColumn.GetValue(_source.FirstOrDefault()));
|
||||
|
@ -898,7 +898,8 @@ namespace FreeSql.Internal.CommonProvider
|
||||
if (_tableRule == null && _table.AsTableImpl == null) return _commonUtils.GetEntityTableAopName(_table, true);
|
||||
var tbname = _table?.DbName ?? "";
|
||||
string newname = null;
|
||||
if (_table.AsTableImpl != null)
|
||||
// 对于已经配置了TableNameImpl的表,也支持AsTable重设表名 by nsnail@2024年8月26日11:10:22
|
||||
if (_table.AsTableImpl != null && _tableRule == null)
|
||||
{
|
||||
if (_source.Any())
|
||||
newname = _table.AsTableImpl.GetTableNameByColumnValue(_table.AsTableColumn.GetValue(_source.FirstOrDefault()));
|
||||
|
@ -10,7 +10,7 @@
|
||||
<RepositoryType>git</RepositoryType>
|
||||
<PackageLicenseExpression>MIT</PackageLicenseExpression>
|
||||
<PackageTags>FreeSql;ORM;SqlServer;mssql</PackageTags>
|
||||
<PackageId>$(AssemblyName)</PackageId>
|
||||
<PackageId>$(AssemblyName).NS</PackageId>
|
||||
<PackageIcon>logo.png</PackageIcon>
|
||||
<Title>$(AssemblyName)</Title>
|
||||
<IsPackable>true</IsPackable>
|
||||
@ -18,10 +18,16 @@
|
||||
<SignAssembly>true</SignAssembly>
|
||||
<DelaySign>false</DelaySign>
|
||||
<AssemblyOriginatorKeyFile>key.snk</AssemblyOriginatorKeyFile>
|
||||
<Version>3.5.100-preview20240825</Version>
|
||||
<Version>3.5.100-preview20240825-ns1</Version>
|
||||
<PackageReadmeFile>readme.md</PackageReadmeFile>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<DocumentationFile>FreeSql.Provider.SqlServer.xml</DocumentationFile>
|
||||
<WarningLevel>3</WarningLevel>
|
||||
<NoWarn>1701;1702;1591</NoWarn>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Include="../../readme.md" Pack="true" PackagePath="\" />
|
||||
<None Include="../../logo.png" Pack="true" PackagePath="\" />
|
||||
|
@ -228,7 +228,17 @@ ELSE
|
||||
if (tbcol.IsDesc) sb.Append(" DESC");
|
||||
sb.Append(", ");
|
||||
}
|
||||
sb.Remove(sb.Length - 2, 2).Append(");\r\n");
|
||||
// sb.Remove(sb.Length - 2, 2).Append(");\r\n");
|
||||
// ↑ 解决唯一索引不可插入多个NULL的问题 ↓
|
||||
sb.Remove(sb.Length - 2, 2).Append(") WHERE ");
|
||||
foreach (var tbcol in uk.Columns)
|
||||
{
|
||||
sb.Append(_commonUtils.QuoteSqlName(tbcol.Column.Attribute.Name));
|
||||
sb.Append(" IS NOT NULL");
|
||||
sb.Append(" AND ");
|
||||
}
|
||||
sb.Remove(sb.Length - 5, 5).Append(";\r\n");
|
||||
// nsnail@2023年2月4日14:54:52 ↑
|
||||
}
|
||||
//备注
|
||||
foreach (var tbcol in tb.ColumnsByPosition)
|
||||
@ -449,7 +459,17 @@ use [" + database + "];", tboldname ?? tbname);
|
||||
if (tbcol.IsDesc) sb.Append(" DESC");
|
||||
sb.Append(", ");
|
||||
}
|
||||
sb.Remove(sb.Length - 2, 2).Append(");\r\n");
|
||||
// sb.Remove(sb.Length - 2, 2).Append(");\r\n");
|
||||
// ↑ 解决唯一索引不可插入多个NULL的问题 ↓
|
||||
sb.Remove(sb.Length - 2, 2).Append(") WHERE ");
|
||||
foreach (var tbcol in uk.Columns)
|
||||
{
|
||||
sb.Append(_commonUtils.QuoteSqlName(tbcol.Column.Attribute.Name));
|
||||
sb.Append(" IS NOT NULL");
|
||||
sb.Append(" AND ");
|
||||
}
|
||||
sb.Remove(sb.Length - 5, 5).Append(";\r\n");
|
||||
// nsnail@2023年2月4日14:54:52 ↑
|
||||
}
|
||||
sb.Append("COMMIT;\r\n");
|
||||
}
|
||||
|
@ -10,7 +10,7 @@
|
||||
<RepositoryType>git</RepositoryType>
|
||||
<PackageLicenseExpression>MIT</PackageLicenseExpression>
|
||||
<PackageTags>FreeSql;ORM;sqlite</PackageTags>
|
||||
<PackageId>$(AssemblyName)</PackageId>
|
||||
<PackageId>$(AssemblyName).NS</PackageId>
|
||||
<PackageIcon>logo.png</PackageIcon>
|
||||
<Title>$(AssemblyName)</Title>
|
||||
<IsPackable>true</IsPackable>
|
||||
@ -18,10 +18,16 @@
|
||||
<SignAssembly>true</SignAssembly>
|
||||
<AssemblyOriginatorKeyFile>key.snk</AssemblyOriginatorKeyFile>
|
||||
<DelaySign>false</DelaySign>
|
||||
<Version>3.5.100-preview20240825</Version>
|
||||
<Version>3.5.100-preview20240825-ns1</Version>
|
||||
<PackageReadmeFile>readme.md</PackageReadmeFile>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<DocumentationFile>FreeSql.Provider.Sqlite.xml</DocumentationFile>
|
||||
<WarningLevel>3</WarningLevel>
|
||||
<NoWarn>1701;1702;1591</NoWarn>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Include="../../readme.md" Pack="true" PackagePath="\"/>
|
||||
<None Include="../../logo.png" Pack="true" PackagePath="\" />
|
||||
|
62
nuget/build-and-push.ps1
Normal file
62
nuget/build-and-push.ps1
Normal file
@ -0,0 +1,62 @@
|
||||
# 定义参数
|
||||
Param(
|
||||
# Nuget APIKey
|
||||
[string] $apikey
|
||||
)
|
||||
|
||||
if ($apikey -eq $null -or $apikey -eq "")
|
||||
{
|
||||
Write-Error "必须指定apiKey";
|
||||
return;
|
||||
}
|
||||
|
||||
rm -r ../FreeSql.DbContext/bin/Release
|
||||
dotnet build -c Release ../FreeSql.sln
|
||||
|
||||
|
||||
$files = Get-ChildItem -Path ../FreeSql/bin/Release -Filter *-ns*.nupkg
|
||||
foreach($file in $files)
|
||||
{
|
||||
dotnet nuget push $file.fullName --skip-duplicate --api-key $apikey --source https://api.nuget.org/v3/index.json
|
||||
}
|
||||
$files = Get-ChildItem -Path ../FreeSql/bin/Release -Filter *-ns*.snupkg
|
||||
foreach($file in $files)
|
||||
{
|
||||
dotnet nuget push $file.fullName --skip-duplicate --api-key $apikey --source https://api.nuget.org/v3/index.json
|
||||
}
|
||||
|
||||
|
||||
$files = Get-ChildItem -Path ../Providers/FreeSql.Provider.Sqlite/bin/Release -Filter *-ns*.nupkg
|
||||
foreach($file in $files)
|
||||
{
|
||||
dotnet nuget push $file.fullName --skip-duplicate --api-key $apikey --source https://api.nuget.org/v3/index.json
|
||||
}
|
||||
$files = Get-ChildItem -Path ../Providers/FreeSql.Provider.Sqlite/bin/Release -Filter *-ns*.snupkg
|
||||
foreach($file in $files)
|
||||
{
|
||||
dotnet nuget push $file.fullName --skip-duplicate --api-key $apikey --source https://api.nuget.org/v3/index.json
|
||||
}
|
||||
|
||||
|
||||
$files = Get-ChildItem -Path ../Providers/FreeSql.Provider.SqlServer/bin/Release -Filter *-ns*.nupkg
|
||||
foreach($file in $files)
|
||||
{
|
||||
dotnet nuget push $file.fullName --skip-duplicate --api-key $apikey --source https://api.nuget.org/v3/index.json
|
||||
}
|
||||
$files = Get-ChildItem -Path ../Providers/FreeSql.Provider.SqlServer/bin/Release -Filter *-ns*.snupkg
|
||||
foreach($file in $files)
|
||||
{
|
||||
dotnet nuget push $file.fullName --skip-duplicate --api-key $apikey --source https://api.nuget.org/v3/index.json
|
||||
}
|
||||
|
||||
|
||||
$files = Get-ChildItem -Path ../FreeSql.DbContext/bin/Release -Filter *-ns*.nupkg
|
||||
foreach($file in $files)
|
||||
{
|
||||
dotnet nuget push $file.fullName --skip-duplicate --api-key $apikey --source https://api.nuget.org/v3/index.json
|
||||
}
|
||||
$files = Get-ChildItem -Path ../FreeSql.DbContext/bin/Release -Filter *-ns*.snupkg
|
||||
foreach($file in $files)
|
||||
{
|
||||
dotnet nuget push $file.fullName --skip-duplicate --api-key $apikey --source https://api.nuget.org/v3/index.json
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user