小编use*_*746的帖子

错误:实体类型需要主键

我想扩展这个问题上提出的问题

将列表框绑定到observablecollection

通过赋予它持久化数据的能力.结构大致相同,只是我安装了Entity Framework Core,创建了一个DbContext类来保存记录.我添加了一个按钮将数据集保存到SQL Server.我没有遇到编译错误但是当我试图将数据保存在数据库中时,我得到了这个运行时异常:

Message =实体类型'Fruit'需要定义主键.

整个例外情况如下

System.InvalidOperationException未处理
HResult = -2146233079
Message =实体类型'Fruit'需要定义主键.
源= Microsoft.EntityFrameworkCore
堆栈跟踪:
在Microsoft.EntityFrameworkCore.Internal.ModelValidator.ShowError(字符串消息)
在Microsoft.EntityFrameworkCore.Internal.ModelValidator.EnsureNonNullPrimaryKeys(IModel模型)
在Microsoft.EntityFrameworkCore.Internal.ModelValidator.Validate(IModel模型)
在Microsoft.EntityFrameworkCore.Internal.RelationalModelValidator.Validate(IModel模型),
位于Microsoft.EntityFrameworkCore.Infrastructure.ModelSource.CreateModel(DbContext上下文,IConventionSetBuilder conventionSetBuilder,IModelValidator验证器)
at Microsoft.EntityFrameworkCore.Infrastructure.ModelSource.<> c__DisplayClass14_0.b__0(Object k)
at System.Collections.Concurrent.ConcurrentDictionary 2.GetOrAdd(TKey key, Func2 valueFactory)
at Microsoft.EntityFrameworkCore.Infrastructure.ModelSource.GetModel(DbContext context,IConventionSetBuilder conventionSetBuilder,IModelValidator validator)
at at Microsoft.EntityFrameworkCore.Internal.DbContextServices.CreateModel()
在Microsoft.EntityFrameworkCore.Internal.LazyRef 1.get_Value()
at Microsoft.EntityFrameworkCore.Internal.DbContextServices.get_Model()
at Microsoft.EntityFrameworkCore.Infrastructure.EntityFrameworkServiceCollectionExtensions.<>c.<AddEntityFramework>b__0_6(IServiceProvider p)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitFactoryService(FactoryService factoryService, ServiceProvider provider)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor
2.VisitCallSite(IServiceCallSite调用点,TArgument参数)
在Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitScoped(scopedCallSite scopedCallSite,供应商的ServiceProvider)
在Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor 2.VisitCallSite(IServiceCallSite callSite, TArgument argument)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitConstructor(ConstructorCallSite constructorCallSite, ServiceProvider provider)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor
2.VisitCallSite(IServiceCallSite调用点,TArgument参数)
在Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitScoped(ScopedCallSite scopedCallSite,的ServiceProvider提供商)
在Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor 2.VisitCallSite(IServiceCallSite callSite, …

c# wpf entity-framework-core

47
推荐指数
7
解决办法
8万
查看次数

动态地将文件名指定给excel连接字符串

这是我第一次在SQL Server 2012中使用SSIS.我可以成功读取excel文件并将其内容加载到SQL Server 2012中的表中.该任务是一个简单的直接读取excel文件,然后复制到sql server而没有验证或改造现在.任务很成功.但是当我试图让包从变量而不是原始的硬编码中读取文件名时,它产生了一个错误"DTS_E_OLEDBERROR.发生了OLE DB错误.错误代码:0x80040E4D"

在此输入图像描述

我所做的只是用一个表达式替换excel连接管理器中的硬编码连接字符串,该表达式获取由表达式指定的变量的值

在此输入图像描述

在数据流任务开始之前为变量分配了值.检查变量并确实具有正确的值.

在此输入图像描述

但是,当数据流任务开始时,会生成以下错误.

在此输入图像描述

如果有人能指出我做错了什么并建议我如何解决问题,我们将不胜感激.

ssis sql-server-2012

20
推荐指数
1
解决办法
5万
查看次数

从C#中的列表中获取引用/地址

我知道C#不处理指针,但我想知道当我知道它的第一个元素时是否可以获得一个列表的引用?例如:假设我有一个定义为的列表

List<T> abc  
Run Code Online (Sandbox Code Playgroud)

如果我有abc [0],我可以获得abc的参考吗?我是C#的新手,如果我的问题看起来很奇怪,我道歉.在C/C++中,我可以使用&abc [0]获取数组abc的地址.当我们知道集合中的一个项目时,C#是否为我们提供了类似的工具,以帮助我们回溯到集合本身?谢谢,

c# collections reference list

6
推荐指数
2
解决办法
1万
查看次数

是否可以更改队列中的元素?

假设我有一个整数队列(或任何类T),我可以更改队列中元素的值吗?更具体地说,如果我将队列定义如下:

Queue<int> q = new Queue<int>();
Run Code Online (Sandbox Code Playgroud)

我们可以更改其元素的值,类似于我们处理数组的方式吗?(如果q是一个数组,我们就可以做这样的事情:q[0]=1改变它的元素).我只是想简化场景并使用int作为示例,但我的目的是试图查看队列中T类的第1项,进行一些计算并更新队列以供其他程序处理.我不想将它出列,因为队列中的序列将与原始序列不同.希望我想要做的事情有意义.请指教.

c# queue

5
推荐指数
2
解决办法
1万
查看次数

保存多对多关系 - 实体框架

我有以下课程:

    public class item
    {
        public int NodeID
        {
            get ;
            set ;
        }
        public int Weight
        {
            get ;
            set ;
        }
        public int Category
        {
            get ;
            set ;
        }
    }
   public class Recipients
    {
        public int RecipientID
        {
            get ; set;
        }
    }

    public class Nodes
    {
        public List<int> RecipientList
        {
            get ;
            set ;
        }
        public item Item
        {
            get ; set;
        }
        public int Capacity
        {
            get ; set;
        }
        public int NodeID
        {
            get …
Run Code Online (Sandbox Code Playgroud)

entity-framework

5
推荐指数
1
解决办法
212
查看次数

执行powershell语句后检测错误

我正在使用 powershell 运行sqlplus,我希望 PowerShell 在脚本运行后检测是否有错误并执行一些操作,而不是查看结果文件。

& 'sqlplus' 'system/myOraclePassword' '@Test' | out-file 'result.txt';
Run Code Online (Sandbox Code Playgroud)

通常在DOS中,命令遇到错误时会出现%errorlevel%,不知道PowerShell中是否有类似的东西?

当然,我可以自己阅读日志文件,但有时,事情太常规了,我可能会忘记。

我的Test.sql:

select level from dual
connect by level<5;
select 10/0 from dual;
quit;
Run Code Online (Sandbox Code Playgroud)

显然有一个除以零误差。result.txt 捕获了它,但我希望 powershell 也检测到它

SQL*Plus:2017 年 4 月 27 日星期四 16:24:30 发布 12.1.0.2.0 生产版

版权所有 (c) 1982, 2014,甲骨文。版权所有。

上次成功登录时间:2017年4月27日星期四16:17:34 -04:00

连接到:
Oracle Database 12c 企业版 12.1.0.2.0 版 - 64 位生产
使用分区、OLAP、高级分析和实际应用程序测试选项


     等级
----------
     1
     2
     3
     4

从双中选择 10/0
         *
第 1 行的错误:
ORA-01476: 除数等于零

powershell语句像DOS一样执行后会返回errorlevel吗?

我试过了:

& 'sqlplus' 'system/myOraclePassword' '@Test' …
Run Code Online (Sandbox Code Playgroud)

powershell sqlplus

5
推荐指数
1
解决办法
1897
查看次数

Powershell - 关于foreach的澄清

我正在学习powershell,我需要有人给我一个初步的推动,让我通过学习曲线.我熟悉编程和dos但不熟悉PowerShell.

我想要做的是列出我指定目录中的所有文件并将文件名推送到数组中.我对语法不太熟悉,当我尝试运行测试时,我被问到输入参数.

有人可以赐教我,告诉我正确的方法来得到我想要的东西吗?

这就是PowerShell问我的问题:

PS D:\ABC> Test.ps1
cmdlet ForEach-Object at command pipeline position 2
Supply values for the following parameters:
Process[0]:
Run Code Online (Sandbox Code Playgroud)

这是我的测试:

[string]$filePath = "D:\ABC\*.*";

Get-ChildItem $filePath | foreach
{
 $myFileList = $_.BaseName;
 write-host $_.BaseName
}
Run Code Online (Sandbox Code Playgroud)

为什么ps询问Process [0]?

我想ps来列出目录中的所有文件并将结果传递到foreach,我将每个文件放入$ myFileList数组并打印出文件名.

powershell

4
推荐指数
1
解决办法
790
查看次数

将带有 DotNet Core 的 API 部署到带有 IIS 的 Windows Server 2008 R2

我正在尝试遵循https://docs.microsoft.com/en-us/aspnet/core/tutorials/first-web-api上的一个非常简单的 TodoApi 教程

我可以使用

dotnet run <ApplicationName>
Run Code Online (Sandbox Code Playgroud)

使用 Postman 的快速测试表明独立应用程序在我的本地计算机上运行良好。但是,当我尝试将应用程序“部署”到我的 Windows Server 2008 R2(我在那里安装了 DotNetCore SDK 和 DotNetCore WindowsHosting)时,我收到了这个错误:

在此处输入图片说明

通过“部署”,我的意思是 xcopying 文件夹。所以我的问题有两个方面:

1) 是否有关于如何将带有 dotnet 核心的独立 api 部署到不同 Windows 服务器的指南/说明,服务器能够托管此类 api 应用程序的先决条件?

2) 是否有将 api 部署到 IIS 的指南?

谢谢,

iis .net-core

3
推荐指数
1
解决办法
6624
查看次数

多个属性的选择对象

我正在尝试找到一种优雅的方法来将System.Data.DataTable类型的表的元数据放入多维数组中,以便在程序中轻松参考。到目前为止,我对这个问题的处理似乎很乏味。

假设$DataTable是有DataTable问题的

到目前为止,我试图做的是:

$Types = $DataTable.Columns | Select-Object -Property DataType
$Columns= $DataTable.Columns | Select-Object -Property ColumnName
$Index = $DataTable.Columns | Select-Object -Property ordinal
$AllowNull  = $DataTable.Columns | Select-Object -Property AllowDbNull
Run Code Online (Sandbox Code Playgroud)

然后痛苦地遍历每个数组,拾取单个项目并将它们放入我的多维数组中$TableMetaData

我阅读了的文档,Select-Object在我看来,一次只能选择1个属性?我认为我应该能够更优雅地完成上述所有操作,并将信息存储在中$TableMetaData

有没有一种方法可以轻松地拾取多个属性并将其一次放置到多维数组中?

powershell

3
推荐指数
1
解决办法
9332
查看次数

根据ID从列表中查找项目

我有这门课

public class item
{
        public int itemID { get; set; }
        public int itemValue { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我有一个变量

public List<item> itemList;
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用lambda在itemList中搜索并找到itemID = i的项目.通常,没有lamda的函数如下:

public item FindItem(int i)
{
foreach (var t in itemList)
{
  if (t.itemID==i)
    return t;
}
return null;
}
Run Code Online (Sandbox Code Playgroud)

我试着用这个lambda替换它

item Item = itemList.Where(x=>x.itemID==i).Select(x=>x);
Run Code Online (Sandbox Code Playgroud)

我收到一个错误说:

Error   1 Cannot implicitly convert type 'System.Collections.Generic.IEnumerable<item>' to 'item'. An explicit conversion exists (are you missing a cast?)
Run Code Online (Sandbox Code Playgroud)

我该怎么纠正这个?我还在学习lambda,Linq

c# linq lambda

2
推荐指数
1
解决办法
4489
查看次数