在 VS Code 中使用更漂亮的扩展有问题,当我写这个时:
const result = await pool
.request()
.query('select NumberPlate, ID, TimeStamp from RESULTS order by ID');
Run Code Online (Sandbox Code Playgroud)
并保存文件,它变成了这样的一行:
const result = await pool.request().query('select NumberPlate, ID, TimeStamp from RESULTS order by ID');
Run Code Online (Sandbox Code Playgroud)
使用更漂亮的以下配置:
{
"git.confirmSync": false,
"editor.minimap.enabled": false,
"window.zoomLevel": 0,
"liveServer.settings.donotShowInfoMsg": true,
"workbench.startupEditor": "newUntitledFile",
"terminal.integrated.shell.windows": "C:\\Program Files\\Git\\bin\\bash.exe",
"editor.formatOnSave": true,
"prettier.printWidth": 200,
"prettier.singleQuote": true,
"prettier.arrowParens": "always",
"editor.tabSize": 2,
"editor.tabCompletion": "on"
}
Run Code Online (Sandbox Code Playgroud)
有没有办法避免这种情况发生?
谢谢!
我正在使用 EF Core (3.1.15)。在之前的迁移中(也是在 3.1.15 中创建的),引用了一个后来被删除的列。幂等脚本会检查是否在数据库上执行了迁移(确实如此,并且引用仍然显示在表中__EFMigrationsHistory)。但是,由于列不存在,检查没有预期的结果和脚本。
问:为什么不存在的列会导致 SQL 脚本的执行失败?
脚本是用创建的
dotnet-ef migrations script -i -o migrations.sql
Run Code Online (Sandbox Code Playgroud)
失败的自动化脚本的相关部分,ReferenceToLedgerId在以后的迁移中删除的列在哪里:
dotnet-ef migrations script -i -o migrations.sql
Run Code Online (Sandbox Code Playgroud)
错误:
消息 207,级别 16,状态 1,第 3
行 列名称“ReferenceToLedgerId”无效
运行以下 SQL 查询时,结果按预期返回:
IF NOT EXISTS(SELECT * FROM [__EFMigrationsHistory] WHERE [MigrationId] = N'20210612052003_CLedger')
BEGIN
UPDATE LedgerTable SET LedgerId = ReferenceToLedgerId
END;
Run Code Online (Sandbox Code Playgroud)
| 迁移ID | 产品版本 |
|---|---|
| 20210612052003_CLedger | 3.1.15 |
该数据库是 Azure SQL 数据库。脚本在本地 SQL 开发数据库上不会失败。从那时起,已经应用了十几次迁移,直到现在脚本才失败。
以下是创建特定脚本的调用:
SELECT *
FROM [__EFMigrationsHistory] WHERE [MigrationId] = N'20210612052003_CLedger'
Run Code Online (Sandbox Code Playgroud)
我尝试将表名和列名放在方括号中,但这没有什么区别(例如......[ReferenceToLedgerId]该脚本在使用 Azure …
sql-server entity-framework entity-framework-core azure-sql-database
我使用带有Asp.net核心的EF6,通过dbcontext调用db时出现错误:
System.NotSupportedException: Unable to determine the provider name for provider factory of type 'System.Data.SqlClient.SqlClientFactory'. Make sure that the ADO.NET provider is installed or registered in the application config.
at System.Data.Entity.Utilities.DbProviderFactoryExtensions.GetProviderInvariantName(DbProviderFactory factory)
at System.Data.Entity.Infrastructure.DependencyResolution.DefaultInvariantNameResolver.GetService(Type type, Object key)
at System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(TKey key, Func`2 valueFactory)
at System.Linq.Enumerable.SelectArrayIterator`2.MoveNext()
at System.Linq.Enumerable.TryGetFirst[TSource](IEnumerable`1 source, Func`2 predicate, Boolean& found)
at System.Data.Entity.Infrastructure.DependencyResolution.ResolverChain.GetService(Type type, Object key)
at System.Linq.Enumerable.SelectArrayIterator`2.MoveNext()
at System.Linq.Enumerable.TryGetFirst[TSource](IEnumerable`1 source, Func`2 predicate, Boolean& found)
at System.Data.Entity.Infrastructure.DependencyResolution.ResolverChain.GetService(Type type, Object key)
at System.Data.Entity.Infrastructure.DependencyResolution.CompositeResolver`2.GetService(Type type, Object key)
at System.Data.Entity.Infrastructure.DependencyResolution.DbDependencyResolverExtensions.GetService[T](IDbDependencyResolver resolver, Object key)
at …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用以下代码连接到我网络中的 SQL 数据库。我在 Stackoverflow 和 web 上搜索了这个错误,发现有很多其他人遇到了这个问题,应用并测试了很多都没有解决我的问题。目前我的代码如下:
using System;
using System.Data.SqlClient;
namespace ConsoleApp2
{
class Program
{
static void Main(string[] args)
{
using ( SqlConnection conn = new SqlConnection)
{
conn.ConnectionString = "Server=***;Database=***;Trusted_Connection=True;";
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
在 *** 的位置,我有服务器和数据库名称。另外,我在哪里输入特定的表格?
我在尝试执行包时收到以下错误。我可以成功地执行个人任务。但每当尝试执行整个包时,它都会给我错误。 分布式事务上的 SSIS 数据流 - [执行 SQL 任务] 错误:无法获取连接“targetCon2”。连接可能未正确配置,或者您可能对此连接没有正确的权限。
我浏览了很多链接,但没有任何效果,所以开始一个新线程。我检查了SQL 代理作业 - 连接可能未正确配置,或者您可能对此连接没有正确的权限?
我的分布式事务服务正在运行。DTC 设置正确。我正在按顺序执行所有事情。不知道出了什么问题。我想在一笔交易中执行整个部分。
如果您通过VS2017这个小控制台程序,单步,你最终会执行两将的WriteLine(...)声明及对掷(...)声明.
这应该是绝对不可能的,那怎么可能呢?
using System;
using System.Threading.Tasks;
namespace ConsoleApp7
{
class Program
{
static void Main(string[] args)
{
Task.Run(() => ProcAsync()).Wait();
}
private static async Task ProcAsync()
{
int aNumber = 7;
switch (aNumber)
{
case 7:
Console.WriteLine("The value is 7"); //You first arrive here...
break;
default:
throw new Exception("Oups..?!"); //but then also here!!!??
}
}
}
}
Run Code Online (Sandbox Code Playgroud) 有没有办法强制实体框架使用子查询的别名,而不是为 OrderBy 加倍它?
var results = Users.Select( u => new
{
u.idUser,
u.Name,
nbChilds = u.Children.Count
})
.OrderBy( u => u.nbChilds );
Run Code Online (Sandbox Code Playgroud)
这将在 SQL 中转换为:
SELECT [u].[idUser] AS [idUser], [u].[name] AS [Name], (
SELECT COUNT(*)
FROM [Children] AS [c0]
) AS [nbChilds]
FROM [Users] AS [u]
ORDER BY (
SELECT COUNT(*)
FROM [Children] AS [c]
)
Run Code Online (Sandbox Code Playgroud)
这意味着它将对子项进行两次计数。就我而言,这对性能造成严重影响,我想避免。有没有办法告诉 Linq 在选择中使用别名,以便输出为:
SELECT [u].[idUser] AS [idUser], [u].[name] AS [Name], (
SELECT COUNT(*)
FROM [Children] AS [c0]
) AS [nbChilds]
FROM [Users] AS [u] …Run Code Online (Sandbox Code Playgroud) 是否可以使用 Fluent API 在实体框架核心中创建不区分大小写的唯一索引?
例如,可以使用以下 SQL 在 Oracle 中定义不区分大小写的唯一索引:
create unique index test on "Person"(lower("Name"));
Run Code Online (Sandbox Code Playgroud)
但是,据我所知,EF Core 中的唯一选项是区分大小写的唯一约束,例如:
builder.HasIndex(e => e.Name)
.IsUnique();
Run Code Online (Sandbox Code Playgroud)
我已经尝试过以下方法,但它不起作用:
builder.HasIndex(e => e.Name.ToLower())
.IsUnique();
Run Code Online (Sandbox Code Playgroud) oracle entity-framework unique-constraint entity-framework-core ef-fluent-api
我的多维数据集中有以下数据SSAS。
我的需要是根据具有两个不同维度的两个条件,使用
MDX.
在此示例数据中,我需要获取
Reseller Sales Amount维度值Title等于销售代表Gender且维度值等于男性条件的值。
我尝试使用Case语句和IIF()函数来实现要求,MDX但它不起作用。
请查找我尝试过使用不同功能的查询。
使用 Case 语句:
WITH MEMBER [Measures].[Expression1] AS
CASE WHEN [Employee].[Title].CURRENTMEMBER.MEMBERVALUE = "Sales Representative" THEN (CASE
WHEN [Employee].[Gender].CURRENTMEMBER.MEMBERVALUE = "Male"
THEN [Measures].[Reseller Sales Amount] ELSE 0 END)ELSE 0 END select [Measures].[Expression1] on Columns from [Sales Targets]
Run Code Online (Sandbox Code Playgroud)
使用 IIF() 函数:
WITH MEMBER [Measures].[Expression1] AS
IIF( [Employee].[Title].CURRENTMEMBER.MEMBERVALUE = "Sales Representative" AND [Employee].[Gender].CURRENTMEMBER.MEMBERVALUE = "Male",
[Measures].[Reseller Sales Amount], 0) …Run Code Online (Sandbox Code Playgroud) 我试图简单地使用 EF core 3 为两个表添加种子,但它不起作用。这是一个很小的操作,但 EF 似乎无法做到这一点。
对象模型
public class Object
{
[Key]
public int Id { get; set; }
[Required]
public string Name { get; set; }
[ForeignKey("Building")]
public int BuildingId { get; set; }
public Building Building { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
建筑模型
public class Building
{
[Key]
public int Id { get; set; }
[Required]
public string Name { get; set; }
public virtual List<Object> Objects { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
上下文类
public class AppDatabaseContext : DbContext …Run Code Online (Sandbox Code Playgroud)