Compare commits

...

2 Commits

Author SHA1 Message Date
hang 80cc578be9 Merge branch 'Test_IRC_Net8' of https://gitea.frp.extimaging.com/XCKJ/irc-netcore-api into Test_IRC_Net8
continuous-integration/drone/push Build is running Details
2026-04-28 15:51:50 +08:00
hang bb9c7066c7 不生成外键测试 2026-04-28 15:51:48 +08:00
3 changed files with 43 additions and 14 deletions

View File

@ -73,7 +73,7 @@ namespace IRaCIS.Core.Application.Service
{
if (inQuery.Id == null && inQuery.VisitTaskId == null)
{
throw new BusinessValidationFailedException("Id 或者VisitTaskId 必传一个");
throw new BusinessValidationFailedException("The interface parameter Id or VisitTaskId cannot be passed at the same time");
}
var result = await _userFeedBackRepository

View File

@ -61,23 +61,51 @@ public class NoForeignKeyMigrationsSqlGenerator : SqlServerMigrationsSqlGenerato
//}
// 检查是否是外键索引
var table = model?.FindEntityType(operation.Table);
if (table != null)
{
foreach (var foreignKey in table.GetForeignKeys())
{
// 如果索引列和外键列相同,跳过生成
if (operation.Columns.SequenceEqual(foreignKey.Properties.Select(p => p.Name)))
{
return; // 跳过生成外键索引
}
}
}
//var table = model?.FindEntityType(operation.Table);
//if (table != null)
//{
// foreach (var foreignKey in table.GetForeignKeys())
// {
// // 如果索引列和外键列相同,跳过生成
// if (operation.Columns.SequenceEqual(foreignKey.Properties.Select(p => p.Name)))
// {
// return; // 跳过生成外键索引
// }
// }
//}
if (IsForeignKeyIndex(operation, model))
return;
// 非外键索引,调用基类方法正常生成
base.Generate(operation, model, builder, terminate);
}
private bool IsForeignKeyIndex(CreateIndexOperation operation, IModel? model)
{
var entity = model?
.GetEntityTypes()
.FirstOrDefault(e =>
e.GetTableName() == operation.Table &&
e.GetSchema() == operation.Schema);
if (entity == null)
return false;
var tableId = StoreObjectIdentifier.Table(operation.Table, operation.Schema);
foreach (var fk in entity.GetForeignKeys())
{
var cols = fk.Properties
.Select(p => p.GetColumnName(tableId))
.ToArray();
if (cols.SequenceEqual(operation.Columns))
return true;
}
return false;
}
}

View File

@ -67,7 +67,8 @@ public class IRaCISDBContext : DbContext
//https://learn.microsoft.com/zh-cn/ef/core/modeling/relationships/conventions?utm_source=chatgpt.com
configurationBuilder.Conventions.Remove(typeof(ForeignKeyIndexConvention));
}
protected override void OnModelCreating(ModelBuilder modelBuilder)