mirror of
https://github.com/nsnail/FreeSql.git
synced 2025-04-22 10:42:52 +08:00
- 修复 Sqlite Attachs 多库索引 {tablename} 问题;
This commit is contained in:
parent
974eb0b189
commit
2ae4d138ec
@ -351,6 +351,15 @@ namespace base_entity
|
||||
public int aa { get; set; }
|
||||
}
|
||||
|
||||
[Table(Name = "db2.sql_AAA_attr")]
|
||||
[Index("{tablename}_xxx1", nameof(aa))]
|
||||
[Index("{tablename}_xxx2", nameof(aa))]
|
||||
public class SqliteAAA
|
||||
{
|
||||
[Column(Name = "aa_attr")]
|
||||
public int aa { get; set; }
|
||||
}
|
||||
|
||||
public class JoinConditionAttribute : Attribute
|
||||
{
|
||||
public string Condition { get; set; }
|
||||
@ -389,6 +398,7 @@ namespace base_entity
|
||||
|
||||
|
||||
.UseConnectionString(FreeSql.DataType.Sqlite, "data source=:memory:")
|
||||
//.UseConnectionString(DataType.Sqlite, "data source=db1.db;attachs=db2.db")
|
||||
//.UseSlave("data source=test1.db", "data source=test2.db", "data source=test3.db", "data source=test4.db")
|
||||
//.UseSlaveWeight(10, 1, 1, 5)
|
||||
|
||||
@ -429,6 +439,14 @@ namespace base_entity
|
||||
BaseEntity.Initialization(fsql, () => _asyncUow.Value);
|
||||
#endregion
|
||||
|
||||
//fsql.CodeFirst.SyncStructure<SqliteAAA>();
|
||||
|
||||
fsql.CodeFirst.Entity<JoinTest01>(a => a.Property(p => p.code).IsRequired());
|
||||
var repo1010 = fsql.GetRepository<JoinTest01>();
|
||||
var jtitem = new JoinTest01 { id = 100 };
|
||||
repo1010.Attach(jtitem);
|
||||
jtitem.name = "name01";
|
||||
repo1010.Update(jtitem);
|
||||
|
||||
var sqlt0a1 = fsql.InsertOrUpdate<抖店实时销售金额表>()
|
||||
.SetSource(new 抖店实时销售金额表
|
||||
|
@ -136,7 +136,7 @@ namespace FreeSql.Sqlite
|
||||
{
|
||||
sb.Append("CREATE ");
|
||||
if (uk.IsUnique) sb.Append("UNIQUE ");
|
||||
sb.Append("INDEX ").Append(_commonUtils.QuoteSqlName(ReplaceIndexName(uk.Name, tbname[1]))).Append(" ON ").Append(tbname[1]).Append("(");
|
||||
sb.Append("INDEX ").Append(_commonUtils.QuoteSqlName(tbname[0], ReplaceIndexName(uk.Name, tbname[1]))).Append(" ON ").Append(tbname[1]).Append("(");
|
||||
foreach (var tbcol in uk.Columns)
|
||||
{
|
||||
sb.Append(_commonUtils.QuoteSqlName(tbcol.Column.Attribute.Name));
|
||||
@ -213,7 +213,7 @@ namespace FreeSql.Sqlite
|
||||
{
|
||||
if (string.Concat(dbIndex[3]) == "pk") continue;
|
||||
var dbIndexesColumns = _orm.Ado.ExecuteArray(CommandType.Text, $"PRAGMA {_commonUtils.QuoteSqlName(tbtmp[0])}.INDEX_INFO({dbIndex[1]})");
|
||||
var dbIndexesSql = string.Concat(_orm.Ado.ExecuteScalar(CommandType.Text, $" SELECT sql FROM sqlite_master WHERE name = '{dbIndex[1]}'"));
|
||||
var dbIndexesSql = string.Concat(_orm.Ado.ExecuteScalar(CommandType.Text, $" SELECT sql FROM {_commonUtils.QuoteSqlName(tbtmp[0])}.sqlite_master WHERE name = '{dbIndex[1]}'"));
|
||||
foreach (var dbcolumn in dbIndexesColumns)
|
||||
{
|
||||
var dbcolumnName = string.Concat(dbcolumn[2]);
|
||||
@ -292,7 +292,7 @@ namespace FreeSql.Sqlite
|
||||
{
|
||||
sb.Append("CREATE ");
|
||||
if (uk.IsUnique) sb.Append("UNIQUE ");
|
||||
sb.Append("INDEX ").Append(_commonUtils.QuoteSqlName(ReplaceIndexName(uk.Name, tbname[1]))).Append(" ON \"").Append(tablenameOnlyTb).Append("\"(");
|
||||
sb.Append("INDEX ").Append(_commonUtils.QuoteSqlName(tbname[0], ReplaceIndexName(uk.Name, tbname[1]))).Append(" ON \"").Append(tablenameOnlyTb).Append("\"(");
|
||||
foreach (var tbcol in uk.Columns)
|
||||
{
|
||||
sb.Append(_commonUtils.QuoteSqlName(tbcol.Column.Attribute.Name));
|
||||
|
Loading…
x
Reference in New Issue
Block a user