mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-06-28 13:34:32 +08:00
Update access
This commit is contained in:
parent
5fdf572da9
commit
3fe74ad4ee
@ -96,5 +96,10 @@
|
|||||||
<Name>SqlSugar</Name>
|
<Name>SqlSugar</Name>
|
||||||
</ProjectReference>
|
</ProjectReference>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Content Include="Test.accdb">
|
||||||
|
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
</ItemGroup>
|
||||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||||
</Project>
|
</Project>
|
@ -12,20 +12,28 @@ namespace OrmTest
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public class Config
|
public class Config
|
||||||
{
|
{
|
||||||
|
public static string GetCurrentProjectPath
|
||||||
|
{
|
||||||
|
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return Environment.CurrentDirectory.Replace(@"\bin\Debug", "");
|
||||||
|
}
|
||||||
|
}
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Account have permission to create database
|
/// Account have permission to create database
|
||||||
/// 用有建库权限的数据库账号
|
/// 用有建库权限的数据库账号
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public static string ConnectionString = "server=.;uid=sa;pwd=sasa;database=SQLSUGAR4XTEST";
|
public static string ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+GetCurrentProjectPath+"test.accdb";
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Account have permission to create database
|
/// Account have permission to create database
|
||||||
/// 用有建库权限的数据库账号
|
/// 用有建库权限的数据库账号
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public static string ConnectionString2 = "server=.;uid=sa;pwd=sasa;database=SQLSUGAR4XTEST2";
|
public static string ConnectionString2 = ConnectionString;
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Account have permission to create database
|
/// Account have permission to create database
|
||||||
/// 用有建库权限的数据库账号
|
/// 用有建库权限的数据库账号
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public static string ConnectionString3 = "server=.;uid=sa;pwd=sasa;database=SQLSUGAR4XTEST3";
|
public static string ConnectionString3 = ConnectionString;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -68,7 +68,7 @@ namespace OrmTest
|
|||||||
});
|
});
|
||||||
|
|
||||||
//If no exist create datebase
|
//If no exist create datebase
|
||||||
db.DbMaintenance.CreateDatabase();
|
//db.DbMaintenance.CreateDatabase();
|
||||||
|
|
||||||
//Use db query
|
//Use db query
|
||||||
var dt = db.Ado.GetDataTable("select 1");
|
var dt = db.Ado.GetDataTable("select 1");
|
||||||
|
BIN
Src/Asp.Net/AccessTest/Test.accdb
Normal file
BIN
Src/Asp.Net/AccessTest/Test.accdb
Normal file
Binary file not shown.
@ -5,7 +5,7 @@ using System.Text;
|
|||||||
|
|
||||||
namespace SqlSugar.Access
|
namespace SqlSugar.Access
|
||||||
{
|
{
|
||||||
public class SqlServerCodeFirst:CodeFirstProvider
|
public class AccessCodeFirst : CodeFirstProvider
|
||||||
{
|
{
|
||||||
protected override string GetTableName(EntityInfo entityInfo)
|
protected override string GetTableName(EntityInfo entityInfo)
|
||||||
{
|
{
|
||||||
|
@ -4,7 +4,7 @@ using System.Linq;
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
namespace SqlSugar.Access
|
namespace SqlSugar.Access
|
||||||
{
|
{
|
||||||
public class SqlServerDbBind : DbBindProvider
|
public class AccessDbBind : DbBindProvider
|
||||||
{
|
{
|
||||||
public override List<KeyValuePair<string, CSharpDataType>> MappingTypes
|
public override List<KeyValuePair<string, CSharpDataType>> MappingTypes
|
||||||
{
|
{
|
||||||
|
@ -5,7 +5,7 @@ using System.Text;
|
|||||||
|
|
||||||
namespace SqlSugar.Access
|
namespace SqlSugar.Access
|
||||||
{
|
{
|
||||||
public class SqlServerDbFirst : DbFirstProvider
|
public class AccessDbFirst : DbFirstProvider
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -6,7 +6,7 @@ using System.Text;
|
|||||||
|
|
||||||
namespace SqlSugar.Access
|
namespace SqlSugar.Access
|
||||||
{
|
{
|
||||||
public class SqlServerDbMaintenance : DbMaintenanceProvider
|
public class AccessDbMaintenance : DbMaintenanceProvider
|
||||||
{
|
{
|
||||||
#region DML
|
#region DML
|
||||||
protected override string GetDataBaseSql
|
protected override string GetDataBaseSql
|
||||||
@ -389,61 +389,7 @@ namespace SqlSugar.Access
|
|||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public override bool CreateDatabase(string databaseName, string databaseDirectory = null)
|
public override bool CreateDatabase(string databaseName, string databaseDirectory = null)
|
||||||
{
|
{
|
||||||
if (databaseDirectory != null)
|
throw new Exception("Access no support CreateDatabase");
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
if (!FileHelper.IsExistDirectory(databaseDirectory))
|
|
||||||
{
|
|
||||||
FileHelper.CreateDirectory(databaseDirectory);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
catch
|
|
||||||
{
|
|
||||||
//Databases and sites are not in the same service
|
|
||||||
}
|
|
||||||
}
|
|
||||||
var oldDatabaseName = this.Context.Ado.Connection.Database;
|
|
||||||
var connection = this.Context.CurrentConnectionConfig.ConnectionString;
|
|
||||||
connection = connection.Replace(oldDatabaseName, "master");
|
|
||||||
var newDb = new SqlSugarClient(new ConnectionConfig()
|
|
||||||
{
|
|
||||||
DbType = this.Context.CurrentConnectionConfig.DbType,
|
|
||||||
IsAutoCloseConnection = true,
|
|
||||||
ConnectionString = connection
|
|
||||||
});
|
|
||||||
if (!GetDataBaseList(newDb).Any(it => it.Equals(databaseName, StringComparison.CurrentCultureIgnoreCase)))
|
|
||||||
{
|
|
||||||
var sql = CreateDataBaseSql;
|
|
||||||
if (databaseDirectory.HasValue())
|
|
||||||
{
|
|
||||||
sql += @"on primary
|
|
||||||
(
|
|
||||||
name = N'{0}',
|
|
||||||
filename = N'{1}\{0}.mdf',
|
|
||||||
size = 10mb,
|
|
||||||
maxsize = 100mb,
|
|
||||||
filegrowth = 1mb
|
|
||||||
),
|
|
||||||
(
|
|
||||||
name = N'{0}_ndf',
|
|
||||||
filename = N'{1}\{0}.ndf',
|
|
||||||
size = 10mb,
|
|
||||||
maxsize = 100mb,
|
|
||||||
filegrowth = 10 %
|
|
||||||
)
|
|
||||||
log on
|
|
||||||
(
|
|
||||||
name = N'{0}_log',
|
|
||||||
filename = N'{1}\{0}.ldf',
|
|
||||||
size = 100mb,
|
|
||||||
maxsize = 1gb,
|
|
||||||
filegrowth = 10mb
|
|
||||||
); ";
|
|
||||||
}
|
|
||||||
newDb.Ado.ExecuteCommand(string.Format(sql, databaseName, databaseDirectory));
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
public override bool CreateTable(string tableName, List<DbColumnInfo> columns, bool isCreatePrimaryKey = true)
|
public override bool CreateTable(string tableName, List<DbColumnInfo> columns, bool isCreatePrimaryKey = true)
|
||||||
{
|
{
|
||||||
|
@ -7,51 +7,51 @@ using System.Text;
|
|||||||
|
|
||||||
namespace SqlSugar.Access
|
namespace SqlSugar.Access
|
||||||
{
|
{
|
||||||
public class SqlServerQueryable<T>:QueryableProvider<T>
|
public class AccessQueryable<T>:QueryableProvider<T>
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
public class SqlServerQueryable<T,T2> : QueryableProvider<T,T2>
|
public class AccessQueryable<T,T2> : QueryableProvider<T,T2>
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
public class SqlServerQueryable<T, T2,T3> : QueryableProvider<T, T2,T3>
|
public class AccessQueryable<T, T2,T3> : QueryableProvider<T, T2,T3>
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
public class SqlServerQueryable<T, T2,T3,T4> : QueryableProvider<T, T2,T3,T4>
|
public class AccessQueryable<T, T2,T3,T4> : QueryableProvider<T, T2,T3,T4>
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
public class SqlServerQueryable<T, T2, T3, T4,T5> : QueryableProvider<T, T2, T3, T4,T5>
|
public class AccessQueryable<T, T2, T3, T4,T5> : QueryableProvider<T, T2, T3, T4,T5>
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
public class SqlServerQueryable<T, T2, T3, T4, T5,T6> : QueryableProvider<T, T2, T3, T4, T5,T6>
|
public class AccessQueryable<T, T2, T3, T4, T5,T6> : QueryableProvider<T, T2, T3, T4, T5,T6>
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
public class SqlServerQueryable<T, T2, T3, T4, T5, T6,T7> : QueryableProvider<T, T2, T3, T4, T5, T6,T7>
|
public class AccessQueryable<T, T2, T3, T4, T5, T6,T7> : QueryableProvider<T, T2, T3, T4, T5, T6,T7>
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
public class SqlServerQueryable<T, T2, T3, T4, T5, T6, T7,T8> : QueryableProvider<T, T2, T3, T4, T5, T6, T7,T8>
|
public class AccessQueryable<T, T2, T3, T4, T5, T6, T7,T8> : QueryableProvider<T, T2, T3, T4, T5, T6, T7,T8>
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
public class SqlServerQueryable<T, T2, T3, T4, T5, T6, T7, T8, T9> : QueryableProvider<T, T2, T3, T4, T5, T6, T7, T8, T9>
|
public class AccessQueryable<T, T2, T3, T4, T5, T6, T7, T8, T9> : QueryableProvider<T, T2, T3, T4, T5, T6, T7, T8, T9>
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
public class SqlServerQueryable<T, T2, T3, T4, T5, T6, T7, T8, T9, T10> : QueryableProvider<T, T2, T3, T4, T5, T6, T7, T8, T9, T10>
|
public class AccessQueryable<T, T2, T3, T4, T5, T6, T7, T8, T9, T10> : QueryableProvider<T, T2, T3, T4, T5, T6, T7, T8, T9, T10>
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
public class SqlServerQueryable<T, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> : QueryableProvider<T, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>
|
public class AccessQueryable<T, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> : QueryableProvider<T, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
public class SqlServerQueryable<T, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> : QueryableProvider<T, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>
|
public class AccessQueryable<T, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> : QueryableProvider<T, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -8,7 +8,7 @@ using System.Threading.Tasks;
|
|||||||
|
|
||||||
namespace SqlSugar.Access
|
namespace SqlSugar.Access
|
||||||
{
|
{
|
||||||
public class SqlServerBlukCopy
|
public class AccessBlukCopy
|
||||||
{
|
{
|
||||||
internal List<IGrouping<int, DbColumnInfo>> DbColumnInfoList { get; set; }
|
internal List<IGrouping<int, DbColumnInfo>> DbColumnInfoList { get; set; }
|
||||||
internal SqlSugarProvider Context { get; set; }
|
internal SqlSugarProvider Context { get; set; }
|
||||||
|
@ -7,7 +7,7 @@ using System.Threading.Tasks;
|
|||||||
|
|
||||||
namespace SqlSugar.Access
|
namespace SqlSugar.Access
|
||||||
{
|
{
|
||||||
public class SqlServerBuilder : SqlBuilderProvider
|
public class AccessBuilder : SqlBuilderProvider
|
||||||
{
|
{
|
||||||
public override string SqlTranslationLeft { get { return "["; } }
|
public override string SqlTranslationLeft { get { return "["; } }
|
||||||
public override string SqlTranslationRight { get { return "]"; } }
|
public override string SqlTranslationRight { get { return "]"; } }
|
||||||
|
@ -6,7 +6,7 @@ using System.Threading.Tasks;
|
|||||||
|
|
||||||
namespace SqlSugar.Access
|
namespace SqlSugar.Access
|
||||||
{
|
{
|
||||||
public class SqlServerDeleteBuilder: DeleteBuilder
|
public class AccessDeleteBuilder : DeleteBuilder
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -9,16 +9,16 @@ using System.Threading.Tasks;
|
|||||||
|
|
||||||
namespace SqlSugar.Access
|
namespace SqlSugar.Access
|
||||||
{
|
{
|
||||||
public partial class SqlServerExpressionContext : ExpressionContext, ILambdaExpressions
|
public partial class AccessExpressionContext : ExpressionContext, ILambdaExpressions
|
||||||
{
|
{
|
||||||
public SqlSugarProvider Context { get; set; }
|
public SqlSugarProvider Context { get; set; }
|
||||||
public SqlServerExpressionContext()
|
public AccessExpressionContext()
|
||||||
{
|
{
|
||||||
base.DbMehtods = new SqlServerMethod();
|
base.DbMehtods = new SqlServerMethod();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
public partial class SqlServerMethod : DefaultDbMethod, IDbMethods
|
public partial class AccessMethod : DefaultDbMethod, IDbMethods
|
||||||
{
|
{
|
||||||
public override string HasValue(MethodCallExpressionModel model)
|
public override string HasValue(MethodCallExpressionModel model)
|
||||||
{
|
{
|
||||||
|
@ -9,7 +9,7 @@ using System.Threading.Tasks;
|
|||||||
namespace SqlSugar.Access
|
namespace SqlSugar.Access
|
||||||
{
|
{
|
||||||
|
|
||||||
public class SqlServerFastBuilder:FastBuilder,IFastBuilder
|
public class AccessFastBuilder : FastBuilder,IFastBuilder
|
||||||
{
|
{
|
||||||
public async Task<int> ExecuteBulkCopyAsync(DataTable dt)
|
public async Task<int> ExecuteBulkCopyAsync(DataTable dt)
|
||||||
{
|
{
|
||||||
|
@ -6,7 +6,7 @@ using System.Threading.Tasks;
|
|||||||
|
|
||||||
namespace SqlSugar.Access
|
namespace SqlSugar.Access
|
||||||
{
|
{
|
||||||
public class SqlServerInsertBuilder:InsertBuilder
|
public class AccessInsertBuilder : InsertBuilder
|
||||||
{
|
{
|
||||||
public override string ToSqlString()
|
public override string ToSqlString()
|
||||||
{
|
{
|
||||||
|
@ -6,7 +6,7 @@ using System.Threading.Tasks;
|
|||||||
|
|
||||||
namespace SqlSugar.Access
|
namespace SqlSugar.Access
|
||||||
{
|
{
|
||||||
public class SqlServerQueryBuilder: QueryBuilder
|
public class AccessQueryBuilder : QueryBuilder
|
||||||
{
|
{
|
||||||
public override string SqlTemplate
|
public override string SqlTemplate
|
||||||
{
|
{
|
||||||
|
@ -6,7 +6,7 @@ using System.Threading.Tasks;
|
|||||||
|
|
||||||
namespace SqlSugar.Access
|
namespace SqlSugar.Access
|
||||||
{
|
{
|
||||||
public class SqlServerUpdateBuilder: UpdateBuilder
|
public class AccessUpdateBuilder : UpdateBuilder
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -12,6 +12,8 @@ namespace SqlSugar
|
|||||||
static Assembly assembly = Assembly.GetExecutingAssembly();
|
static Assembly assembly = Assembly.GetExecutingAssembly();
|
||||||
static Dictionary<string, Type> typeCache = new Dictionary<string, Type>();
|
static Dictionary<string, Type> typeCache = new Dictionary<string, Type>();
|
||||||
public static string CustomTypeName = "";
|
public static string CustomTypeName = "";
|
||||||
|
public static string CustomDbName = "";
|
||||||
|
public static string CustomNamespace = "";
|
||||||
public static bool NoCache = false;
|
public static bool NoCache = false;
|
||||||
|
|
||||||
public static void RemoveCache()
|
public static void RemoveCache()
|
||||||
@ -309,11 +311,11 @@ namespace SqlSugar
|
|||||||
}
|
}
|
||||||
else if (type == "Access")
|
else if (type == "Access")
|
||||||
{
|
{
|
||||||
return "SqlSugar.MySqlConnector.Access" + name;
|
return "SqlSugar.Access.Access" + name;
|
||||||
}
|
}
|
||||||
else if (type == "Custom")
|
else if (type == "Custom")
|
||||||
{
|
{
|
||||||
return "SqlSugar.MySqlConnector.MySql" + name;
|
return CustomNamespace + "."+CustomDbName + name;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user