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>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="Test.accdb">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</Content>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
</Project>
|
@ -12,20 +12,28 @@ namespace OrmTest
|
||||
/// </summary>
|
||||
public class Config
|
||||
{
|
||||
public static string GetCurrentProjectPath
|
||||
{
|
||||
|
||||
get
|
||||
{
|
||||
return Environment.CurrentDirectory.Replace(@"\bin\Debug", "");
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Account have permission to create database
|
||||
/// 用有建库权限的数据库账号
|
||||
/// </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>
|
||||
/// Account have permission to create database
|
||||
/// 用有建库权限的数据库账号
|
||||
/// </summary>
|
||||
public static string ConnectionString2 = "server=.;uid=sa;pwd=sasa;database=SQLSUGAR4XTEST2";
|
||||
public static string ConnectionString2 = ConnectionString;
|
||||
/// <summary>
|
||||
/// Account have permission to create database
|
||||
/// 用有建库权限的数据库账号
|
||||
/// </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
|
||||
db.DbMaintenance.CreateDatabase();
|
||||
//db.DbMaintenance.CreateDatabase();
|
||||
|
||||
//Use db query
|
||||
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
|
||||
{
|
||||
public class SqlServerCodeFirst:CodeFirstProvider
|
||||
public class AccessCodeFirst : CodeFirstProvider
|
||||
{
|
||||
protected override string GetTableName(EntityInfo entityInfo)
|
||||
{
|
||||
|
@ -4,7 +4,7 @@ using System.Linq;
|
||||
using System.Text;
|
||||
namespace SqlSugar.Access
|
||||
{
|
||||
public class SqlServerDbBind : DbBindProvider
|
||||
public class AccessDbBind : DbBindProvider
|
||||
{
|
||||
public override List<KeyValuePair<string, CSharpDataType>> MappingTypes
|
||||
{
|
||||
|
@ -5,7 +5,7 @@ using System.Text;
|
||||
|
||||
namespace SqlSugar.Access
|
||||
{
|
||||
public class SqlServerDbFirst : DbFirstProvider
|
||||
public class AccessDbFirst : DbFirstProvider
|
||||
{
|
||||
}
|
||||
}
|
||||
|
@ -6,7 +6,7 @@ using System.Text;
|
||||
|
||||
namespace SqlSugar.Access
|
||||
{
|
||||
public class SqlServerDbMaintenance : DbMaintenanceProvider
|
||||
public class AccessDbMaintenance : DbMaintenanceProvider
|
||||
{
|
||||
#region DML
|
||||
protected override string GetDataBaseSql
|
||||
@ -389,61 +389,7 @@ namespace SqlSugar.Access
|
||||
/// <returns></returns>
|
||||
public override bool CreateDatabase(string databaseName, string databaseDirectory = null)
|
||||
{
|
||||
if (databaseDirectory != null)
|
||||
{
|
||||
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;
|
||||
throw new Exception("Access no support CreateDatabase");
|
||||
}
|
||||
public override bool CreateTable(string tableName, List<DbColumnInfo> columns, bool isCreatePrimaryKey = true)
|
||||
{
|
||||
|
@ -7,51 +7,51 @@ using System.Text;
|
||||
|
||||
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
|
||||
{
|
||||
public class SqlServerBlukCopy
|
||||
public class AccessBlukCopy
|
||||
{
|
||||
internal List<IGrouping<int, DbColumnInfo>> DbColumnInfoList { get; set; }
|
||||
internal SqlSugarProvider Context { get; set; }
|
||||
|
@ -7,7 +7,7 @@ using System.Threading.Tasks;
|
||||
|
||||
namespace SqlSugar.Access
|
||||
{
|
||||
public class SqlServerBuilder : SqlBuilderProvider
|
||||
public class AccessBuilder : SqlBuilderProvider
|
||||
{
|
||||
public override string SqlTranslationLeft { get { return "["; } }
|
||||
public override string SqlTranslationRight { get { return "]"; } }
|
||||
|
@ -6,7 +6,7 @@ using System.Threading.Tasks;
|
||||
|
||||
namespace SqlSugar.Access
|
||||
{
|
||||
public class SqlServerDeleteBuilder: DeleteBuilder
|
||||
public class AccessDeleteBuilder : DeleteBuilder
|
||||
{
|
||||
|
||||
}
|
||||
|
@ -9,16 +9,16 @@ using System.Threading.Tasks;
|
||||
|
||||
namespace SqlSugar.Access
|
||||
{
|
||||
public partial class SqlServerExpressionContext : ExpressionContext, ILambdaExpressions
|
||||
public partial class AccessExpressionContext : ExpressionContext, ILambdaExpressions
|
||||
{
|
||||
public SqlSugarProvider Context { get; set; }
|
||||
public SqlServerExpressionContext()
|
||||
public AccessExpressionContext()
|
||||
{
|
||||
base.DbMehtods = new SqlServerMethod();
|
||||
}
|
||||
|
||||
}
|
||||
public partial class SqlServerMethod : DefaultDbMethod, IDbMethods
|
||||
public partial class AccessMethod : DefaultDbMethod, IDbMethods
|
||||
{
|
||||
public override string HasValue(MethodCallExpressionModel model)
|
||||
{
|
||||
|
@ -9,7 +9,7 @@ using System.Threading.Tasks;
|
||||
namespace SqlSugar.Access
|
||||
{
|
||||
|
||||
public class SqlServerFastBuilder:FastBuilder,IFastBuilder
|
||||
public class AccessFastBuilder : FastBuilder,IFastBuilder
|
||||
{
|
||||
public async Task<int> ExecuteBulkCopyAsync(DataTable dt)
|
||||
{
|
||||
|
@ -6,7 +6,7 @@ using System.Threading.Tasks;
|
||||
|
||||
namespace SqlSugar.Access
|
||||
{
|
||||
public class SqlServerInsertBuilder:InsertBuilder
|
||||
public class AccessInsertBuilder : InsertBuilder
|
||||
{
|
||||
public override string ToSqlString()
|
||||
{
|
||||
|
@ -6,7 +6,7 @@ using System.Threading.Tasks;
|
||||
|
||||
namespace SqlSugar.Access
|
||||
{
|
||||
public class SqlServerQueryBuilder: QueryBuilder
|
||||
public class AccessQueryBuilder : QueryBuilder
|
||||
{
|
||||
public override string SqlTemplate
|
||||
{
|
||||
|
@ -6,7 +6,7 @@ using System.Threading.Tasks;
|
||||
|
||||
namespace SqlSugar.Access
|
||||
{
|
||||
public class SqlServerUpdateBuilder: UpdateBuilder
|
||||
public class AccessUpdateBuilder : UpdateBuilder
|
||||
{
|
||||
}
|
||||
}
|
||||
|
@ -12,6 +12,8 @@ namespace SqlSugar
|
||||
static Assembly assembly = Assembly.GetExecutingAssembly();
|
||||
static Dictionary<string, Type> typeCache = new Dictionary<string, Type>();
|
||||
public static string CustomTypeName = "";
|
||||
public static string CustomDbName = "";
|
||||
public static string CustomNamespace = "";
|
||||
public static bool NoCache = false;
|
||||
|
||||
public static void RemoveCache()
|
||||
@ -309,11 +311,11 @@ namespace SqlSugar
|
||||
}
|
||||
else if (type == "Access")
|
||||
{
|
||||
return "SqlSugar.MySqlConnector.Access" + name;
|
||||
return "SqlSugar.Access.Access" + name;
|
||||
}
|
||||
else if (type == "Custom")
|
||||
{
|
||||
return "SqlSugar.MySqlConnector.MySql" + name;
|
||||
return CustomNamespace + "."+CustomDbName + name;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user