mirror of
https://github.com/nsnail/FreeSql.git
synced 2025-04-22 02:32:50 +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; }
|
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 class JoinConditionAttribute : Attribute
|
||||||
{
|
{
|
||||||
public string Condition { get; set; }
|
public string Condition { get; set; }
|
||||||
@ -389,6 +398,7 @@ namespace base_entity
|
|||||||
|
|
||||||
|
|
||||||
.UseConnectionString(FreeSql.DataType.Sqlite, "data source=:memory:")
|
.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")
|
//.UseSlave("data source=test1.db", "data source=test2.db", "data source=test3.db", "data source=test4.db")
|
||||||
//.UseSlaveWeight(10, 1, 1, 5)
|
//.UseSlaveWeight(10, 1, 1, 5)
|
||||||
|
|
||||||
@ -429,6 +439,14 @@ namespace base_entity
|
|||||||
BaseEntity.Initialization(fsql, () => _asyncUow.Value);
|
BaseEntity.Initialization(fsql, () => _asyncUow.Value);
|
||||||
#endregion
|
#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<抖店实时销售金额表>()
|
var sqlt0a1 = fsql.InsertOrUpdate<抖店实时销售金额表>()
|
||||||
.SetSource(new 抖店实时销售金额表
|
.SetSource(new 抖店实时销售金额表
|
||||||
|
@ -136,7 +136,7 @@ namespace FreeSql.Sqlite
|
|||||||
{
|
{
|
||||||
sb.Append("CREATE ");
|
sb.Append("CREATE ");
|
||||||
if (uk.IsUnique) sb.Append("UNIQUE ");
|
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)
|
foreach (var tbcol in uk.Columns)
|
||||||
{
|
{
|
||||||
sb.Append(_commonUtils.QuoteSqlName(tbcol.Column.Attribute.Name));
|
sb.Append(_commonUtils.QuoteSqlName(tbcol.Column.Attribute.Name));
|
||||||
@ -213,7 +213,7 @@ namespace FreeSql.Sqlite
|
|||||||
{
|
{
|
||||||
if (string.Concat(dbIndex[3]) == "pk") continue;
|
if (string.Concat(dbIndex[3]) == "pk") continue;
|
||||||
var dbIndexesColumns = _orm.Ado.ExecuteArray(CommandType.Text, $"PRAGMA {_commonUtils.QuoteSqlName(tbtmp[0])}.INDEX_INFO({dbIndex[1]})");
|
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)
|
foreach (var dbcolumn in dbIndexesColumns)
|
||||||
{
|
{
|
||||||
var dbcolumnName = string.Concat(dbcolumn[2]);
|
var dbcolumnName = string.Concat(dbcolumn[2]);
|
||||||
@ -292,7 +292,7 @@ namespace FreeSql.Sqlite
|
|||||||
{
|
{
|
||||||
sb.Append("CREATE ");
|
sb.Append("CREATE ");
|
||||||
if (uk.IsUnique) sb.Append("UNIQUE ");
|
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)
|
foreach (var tbcol in uk.Columns)
|
||||||
{
|
{
|
||||||
sb.Append(_commonUtils.QuoteSqlName(tbcol.Column.Attribute.Name));
|
sb.Append(_commonUtils.QuoteSqlName(tbcol.Column.Attribute.Name));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user