草庐IT

framework-part

全部标签

c# - Entity Framework 迁移中必填字段的默认值?

我已将[Required]数据注释添加到我的一个模型中ASP.NETMVCapplication.创建迁移后,运行Update-Database命令会导致以下错误:CannotinsertthevalueNULLintocolumn'Director',table'MOVIES_cf7bad808fa94f89afa2e5dae1161e78.dbo.Movies';columndoesnotallownulls.UPDATEfails.Thestatementhasbeenterminated.这是由于某些记录的Director列中有NULL。我如何自动将这些值更改为某些默认值(例如

c# - 给 Entity Framework 生成的类添加数据注解

我有以下由EntityFramework生成的类:publicpartialclassItemRequest{publicintRequestId{get;set;}//...我想把它设为必填字段[Required]publicintRequestId{get;set;}但是,因为这是生成的代码,所以会被清除。我无法想象创建分部类的方法,因为属性是由生成的分部类定义的。如何以安全的方式定义约束? 最佳答案 生成的类ItemRequest将始终是一个partial类。这允许您编写第二个部分类,该类标有必要的数据注释。在您的情况下,部分

c# - Entity Framework Core 代码优先添加唯一约束

我找不到使用属性向我的字段添加唯一约束的方法:publicclassUser{[Required]publicintId{get;set;}[Required]//[Index("IX_FirstAndSecond",2,IsUnique=true)]notsupportedbycorepublicstringEmail{get;set;}[Required]publicstringPassword{get;set;}}我正在使用这些包:"Microsoft.EntityFrameworkCore":"1.0.1","Microsoft.EntityFrameworkCore.SqlS

c# - Entity Framework 中的 ICollection<T> 与 List<T>

在我开始设计一些EntityFramework应用程序之前,我只看了几个网络广播。我真的没有读那么多文档,我觉得我现在正在为此受苦。我一直在使用List在我的类里面,效果很好。现在我已经阅读了一些文档,它指出我应该一直使用ICollection.我改成了这个,它甚至没有引起模型上下文的变化。这是因为List和ICollection继承IEnumerable,而这正是EF实际需要的?但是,如果是这种情况,为什么EF文档没有说明它需要IEnumerable而不是ICollection?无论如何,我所做的是否有任何缺点,或者我应该改变它? 最佳答案

c# - 插入/更新多对多 Entity Framework 。我该怎么做?

我正在使用EF4并且是新手。我的项目中有很多,但似乎无法弄清楚如何插入或更新。我已经构建了一个小项目,只是为了看看它应该如何编码。假设我有3张table类:ClassID-类名学生:学号-名字-姓氏StudentClass:StudentID-ClassID添加所有关系并通过模型浏览器更新模型后,我注意到StudentClass没有出现,这似乎是默认行为。现在我需要同时进行插入和更新。你怎么做呢?我可以下载示例的任何代码示例或链接,或者您能抽出5分钟吗? 最佳答案 就实体(或对象)而言,你有一个Class对象,它有一个Student

c# - 解码/编码修改后的 base64 URL 的代码(在 ASP.NET Framework 中)

我想对数据进行base64编码以将其放入URL,然后在我的HttpHandler中对其进行解码。我发现Base64Encoding允许使用“/”字符,这会扰乱我的UriTemplate匹配。然后我发现维基百科有一个“modifiedBase64forURL”的概念:存在修改后的Base64forURL变体,其中不使用填充'=',标准Base64的'+'和'/'字符分别替换为'-'和'_',因此使用URL编码器/解码器不再是必需的,并且对编码值的长度没有影响,保持相同的编码形式完好无损地用于关系数据库、Web表单和一般对象标识符。使用.NET我想修改我当前的代码,从执行基本的base64

c# - Entity Framework 4 - AddObject 与 Attach

我最近一直在使用EntityFramework4,对于何时使用ObjectSet.Attach有点困惑,和ObjectSet.AddObject.据我了解:当系统中已存在实体时使用“附加”创建全新实体时使用“AddObject”所以,如果我要创建一个新人,我会这样做。varctx=newMyEntities();varnewPerson=newPerson{Name="JoeBloggs"};ctx.Persons.AddObject(newPerson);ctx.SaveChanges();如果我要修改现有的Person,我会这样做:varctx=newMyEntities();va

c# - .NET Framework 中的并发 HashSet<T>?

我有以下类(class)。classTest{publicHashSetData=newHashSet();}我需要从不同的线程更改“数据”字段,所以我想对我当前的线程安全实现提出一些意见。classTest{publicHashSetData=newHashSet();publicvoidAdd(stringVal){lock(Data)Data.Add(Val);}publicvoidRemove(stringVal){lock(Data)Data.Remove(Val);}}是否有更好的解决方案,直接进入字段并保护它免受多线程并发访问? 最佳答案

c# - Entity Framework .Remove() 与 .DeleteObject()

您可以通过以下两种方法使用EF从数据库中删除项目。EntityCollection.RemoveMethodObjectContext.DeleteObjectMethod第一个在EntityCollection上,第二个在ObjectContext上。什么时候应该使用它们?一个比另一个更受欢迎吗?Remove()返回一个bool,DeleteObject()返回一个void。 最佳答案 您可以使用这两种方法“从数据库中删除项目”通常是不正确的。准确的说是这样的:ObjectContext.DeleteObject(entity)在

c# - IEntityChangeTracker 的多个实例不能引用实体对象。在 Entity Framework 4.1 中将相关对象添加到实体时

我正在尝试保存员工详细信息,其中引用了城市。但每次我尝试保存我的联系人时,我都会收到异常“ADO.NetEntityFramework一个实体对象不能被多个IEntityChangeTracker实例引用”我看了很多帖子,但仍然不知道该怎么做...下面给出了我的保存按钮点击代码protectedvoidButton1_Click(objectsender,EventArgse){EmployeeServicees=newEmployeeService();CityServicecs=newCityService();DateTimedt=newDateTime(2008,12,12);