草庐IT

code_adventures_clr

全部标签

c# - 使用 EntityFramework 6 Code-First 播种期间的 IDENTITY_INSERT

我有一个具有Auto-identity(int)列的实体。作为数据种子的一部分,我想在我的系统中为“标准数据”使用特定的标识符值,之后我想让数据库整理出id值。到目前为止,作为插入批处理的一部分,我已经能够将IDENTITY_INSERT设置为On,但EntityFramework不会生成包含Id的插入语句.这是有道理的,因为模型认为数据库应该提供值,但在这种情况下,我想提供值。模型(伪代码):publicclassReferenceThing{[Key][DatabaseGenerated(DatabaseGeneratedOption.Identity)]publicintId{g

c# - Type Class(在 app_Code 中)存在于 "solution.dll"和 "app_code.wxdafd.dll"中

我在C#.net中制作了一个webapplication并制作了一个app_code文件夹,其中创建了一个文件命名为“SessionHelper.cs”(属性正确设置为“编译”,以便它可以在Web应用程序中访问)它用于设置和获取session参数,当我尝试调试它时,在“监window口”中给我如下所示的“值”app_code.SessionHelper.IsURLCheckSupport(Name)Thetype'Solution.Web.app_code.SessionHelper'existsinboth'Solution.Web.dll'and'App_Code.wgj24okr

c# - Entity Framework 6 Code First - 必需的枚举数据类型不起作用

我正在使用必需的枚举字段生成数据库表。但是,在提供表格时,可以省略提供枚举字段:EF不会抛出任何错误消息,但会提供0值的字段。你能帮我理解发生了什么吗?谢谢publicenumTestEnum{test1=1,test2=2,test3=3,test4=4}publicclassTestEnumClass{[Key]publicintid{get;set;}[Required(ErrorMessage="Required"),Display(Name="TestEnum")]publicTestEnumtest{get;set;}} 最佳答案

c# - 如何使用 Visual Studio Code 引用程序集?

我想在我在OSX上使用VisualStudioCode编写的控制台应用程序中引用System.Drawing.dll。即我想使用这些using语句usingSystem.Drawing;usingSystem.Drawing.Imaging;避免这个构建错误Program.cs(56,20):errorCS0246:Thetypeornamespacename`Bitmap'couldnotbefound.Areyoumissinganassemblyreference?我找不到这方面的教程,我什至不知道该dll是否在.netcore或mono或任何visual-studio-code

c# - 是否有可用于 CLR 的高分辨率(微秒、纳秒)DateTime 对象?

我有一个仪器可以存储微秒级别的时间戳,我需要存储这些时间戳作为从仪器收集信息的一部分。请注意,我不需要需要generatetimestamps;这些时间戳由仪器本身使用高分辨率实时操作系统预先生成。解析这些值不是问题——它们以UTC时间使用标准格式存储。本来我想用C#DateTimestructure只能存储毫秒分辨率的时间戳。.NET或通用C#库是否提供了另一个支持微秒和(理想情况下)纳秒级分辨率时间戳的对象,还是我必须自己动手? 最佳答案 毕竟您可以使用DateTime。DateTime.Ticks的分辨率为100纳秒。您可以使

c# - Entity Framework Code First - 更改表名

我想首先更改使用EntityFramework代码生成的其中一个表的名称。我已经创建了数据库,但现在我想更改名称。我已将项目中对"Metadatas"表的所有引用更新为"Metadata"。但是在数据库中生成的表仍然是“元数据”。我已经删除并重新创建了数据库,但这似乎也不起作用。使用TableAttribute也不行。我该怎么办?谢谢。[Table("Metadata")]publicclassMetadata{[Required,Key]publicintMetadataId{get;set;}[Required,ScaffoldColumn(false)]publicintDocu

c# - Visual Studio Code 中的 XML 自动注释 C#

在MonoDevelop中,当我输入“///”时,它会自动生成一个xml样式的注释,如下所示://////Describesthevariablex///intx=0;有没有办法在VisualStudioCode中实现这种行为? 最佳答案 以C#forVisualStudioCodeExtension1.23.8开头这在Editor:FormatOnType.设置启用时受支持。可以在File/Preferences/Settings(Windows/Linux)/Code/Preferences/Settings(macOS)下的菜

c# - EF6 Code First 具有通用存储库和依赖注入(inject)和 SoC

经过大量阅读和尝试后EntityFramework最新的稳定版本(6.1.1)。我正在阅读很多关于是否使用EF6的存储库的矛盾。或EF一般来说,因为它是DbContext已经提供了一个存储库和DbSetUoW,盒子外面。让我首先解释我的解决方案在项目方面包含的内容,然后我将回到矛盾。它有一个类库项目,还有一个asp.net-mvc项目。类lib项目是数据访问,其中Migrations为CodeFirst启用.在我的类lib项目中,我有一个通用存储库:publicinterfaceIRepositorywhereTEntity:class{IEnumerableGet();TEntity

c# - 为什么 "Not all code paths return a value"带有 switch 语句和枚举?

我有以下代码:publicintMethod(MyEnummyEnum){switch(myEnum){caseMyEnum.Value1:return1;caseMyEnum.Value2:return2;caseMyEnum.Value3:return3;}}publicenumMyEnum{Value1,Value2,Value3}我收到错误:“并非所有代码路径都返回一个值”。我不明白switch语句怎么可能永远不会跳转到指定的情况之一。enum能否以某种方式成为null? 最佳答案 毫无疑问myEnum的值将是这些值之一。不

c# - 调用堆栈中的 "external code"是什么意思?

我在VisualStudio中调用一个方法并尝试通过调用堆栈对其进行调试。其中的一些行被标记为“外部代码”。这到底是什么意思?来自.dll的方法已被执行? 最佳答案 [外部代码]表示该dll没有可用的调试信息。您可以在CallStack窗口中单击鼠标右键。然后选择ShowExternalCode这将展开[ExternalCode]并显示正在调用的模块。展开后,您将看到正在调用的dll,您可以通过单击SymbolLoadInformation...获取磁盘上的位置这将打开显示磁盘位置的对话框如果你想调试这些外部文件,你需要为dll获取