Tag: entity framework 4.1

entity framework代码第一个铸造列

我上课了 public class Foo { public int UserId { get; set; } } 我正在使用代码第一个流畅的映射将其映射到数据库。 Property(i => i.UserId) .HasColumnName(“userno”); 唯一的问题是userno实际上是数据库中的char(10)。 我如何进行铸造或转换此类型? 因为我目前得到这个错误。 ‘Foo’上的’UserId’属性无法设置为’String’值。 您必须将此属性设置为“Int32”类型的非null值。 谢谢

entity frameworkRC1 DbContext查询问题

我正在尝试使用entity framework代码首先实现存储库模式rc 1.我遇到的问题是创建DbContext。 我有一个解决IRepository的ioc容器,它有一个contextprovider,它只是在windsor.config文件中用连接字符串通知新的DbContext。 使用linq2sql这部分没问题,但EF似乎很窒息。 我将通过一个例子来描述下面的问题。 我已经拿出代码来简化一些事情,这就是为什么你在这里看不到任何存储库模式的东西。 只是在没有所有额外代码和类的情况下排序正在发生的事情。 using (var context = new PlssContext()) { var x = context.Set(); var y = x.Where(u => u.UserName == LogOnModel.UserName).FirstOrDefault(); } using (var context2 = new DbContext(@”Data Source=.\SQLEXPRESS;Initial Catalog=PLSS.Models.PlssContext;Integrated Security=True;MultipleActiveResultSets=True”)) { var x = context2.Set(); var y = x.Where(u => u.UserName == LogOnModel.UserName).FirstOrDefault(); } PlssContext是我创建DbContext类的地方。 存储库模式对PlssContext一无所知。 我认为我能做的最好的事情就是使用连接字符串创建一个DbContext到sqlexpress数据库并以这种方式查询数据。 在新建了PlssContext对象之后,从上下文中获取了var […]

entity framework4.1逆向工程代码

我正在使用Entity Framework 4.1并希望利用他们的代码方法。 在位于http://channel9.msdn.com/Events/TechEd/Europe/2010/DEV212的video中,从35:00开始,他们展示了一个工具,可以从他们现有的数据库中反向设计他们的POCO。 我想这样做,因为我有一个现有的数据库。 我已经安装了EF 4.1,我可以很好地创建POCO实体,但我似乎无法找到他们用来从现有数据库创建POCO的工具。 4.1这个工具没有发布吗? 提前致谢。

entity framework4.1 DbContext生成器问题

我是Entity Framework 4.1的新手,我真的想转换到我的模型的POCO类。 我发现使用安装EF 4.1时提供的“DbContext Generator”项目非常容易。 它完全符合我的要求,并为我现有的EDMX模型生成了DbContext对象和所有POCO。 我运行了应用程序并测试它仍在运行。 它是。 很高兴我删除了EDMX文件和T4模板,并开始重新组织我的新POCO。 但是,在让它再次正确构建之后,我遇到了运行时问题。 在实例化DbContext时,它无法找到元数据文件:.csdl,.ssdl和.msl(我真的不知道它们是什么,只是它们是所有EF连接字符串的一部分)。 放回我的EDMX之后再次运行正常。 我真的不想要EDMX文件了。 我真的很想坚持POCO课程而忘记EDMX曾经存在过; 特别是因为我不希望它运行那些T4模板并重新生成我的POCO。 我有四个相关的问题: 为什么我必须在我的项目中保留edmx? 这有解决方法吗? 当您使用EF 4.1执行真正的“代码优先”时,会发生什么?它从哪里获取这些元数据文件? 那些元数据文件到底是什么?

entity framework代码对象实例化的第一个回调

这可能是一个遥不可及的问题,但是只要从数据库加载了一个新实例(作为例如linq查询的一部分),调用Create或类似物,就可以在实体对象中进行回调激活。 ? 这种回调的目的是从封闭的业务对象传达上下文或一组初始化参数。

映射到嵌套类

我的应用程序运行时收到以下错误: System.InvalidOperationException:未映射“ContactModels + Contact”类型。 使用Ignore方法或NotMappedAttribute数据批注检查未明确排除类型。 validation类型是否已定义为类,不是原始类,嵌套类还是通用类,并且不从EntityObjectinheritance。 当我的DBContext类尝试初始化实体时失败: public class DB : DbContext { public DbSet Contacts { get; set; } …. } Contact模型如下: public class ContactModels { public class Contact { public int ID { get; set; } public string FirstName { get; set; } public string LastName { get; set; } … } } […]

将添加到生成的分部类中的特定属性

我有一个由T4模板生成的entity frameworkPOCO类。 我打算使用生成的类作为我的数据契约。 但是,它有一些不需要在合同中的属性。 例如,我有一个名为AddressId的属性。 它是地址表的外键。 由于实际地址附加到对象,我不希望AddressId对客户端可见。 我可以修改T4模板,但我不愿意。 我看到这篇文章展示了如何使用’MetadataType’将属性添加到部分类中的现有属性。 这是他们给出的例子: [MetadataType(typeof(Dinner_Validation))] public partial class Dinner {} public class Dinner_Validation { [Required] public string Title { get; set; } } 但我尝试了我的课程(使用[IgnoreDataMember])并且它不起作用(仍显示AddressId)。 如何隐藏这一个属性而无需创建一个全新的类来复制我的所有数据?

entity framework代码类库中的第一个

我今天早上刚开始尝试使用EF4代码,我在一个单独的类库中创建了POCO,数据上下文和初始化程序类,我相信它是常规的锅炉板类型代码。 我在MVC3应用程序中引用该类,并在Global.asax中设置初始化程序。 在运行应用程序时,我注意到以下问题 1.没有在任何地方创建数据库(然后我在web.config中为Context类命名的连接字符串添加一个条目,仍然没有结果) 2.当我尝试访问初始值时,我得到一个空错误,显然是因为没有数据。 任何人都可以帮我指点如何让你的工作(如果我整个圣诞节都学习这个,我仍然无法让它工作,将是一个耻辱:()谢谢 ps我尝试插入断点并且我点击应用初始化方法,但它永远不会在初始化器中遇到Seed方法,即使我在那里添加了断点! 谢谢。 初始化类 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data.Entity; using F2AController.Models; namespace F2AController.DataObjects { public class F2AInitializer : DropCreateDatabaseAlways { protected override void Seed(F2AContext context) { var countries = new List { new Country(){ CountryName=”Germany”, Active = true}, new Country(){ CountryName=”Britain”, Active = true} }; […]

entity framework代码优先 – 如何在保存时忽略列

我有一个名为Client的类,它首先使用Entity Framework代码映射到数据库表。 该表有一个我需要在Client类中提供的计算字段,但我知道不可能写入该字段。 是否有一种方法可以在保存时配置entity framework以忽略该属性,但在读取时包含该属性? 我已尝试在配置类中使用Ignore方法,或使用[NotMapped]属性,但这些会阻止从数据库中读取属性。

如何观察DbSet 的Add动作?

我有两个名为Contact和ContactField类,如下所示。 将ContactField添加到Contact ,我希望自动将SortOrder分配给ContactField 。 我是否需要inheritanceDbSet并自定义Add方法? 怎么实现呢? public class Foo { private MyDbContext _db = new MyDbContext(); public void HelloWorld() { Contact contact = ….; //< A contact from database. ContactField field = ….; ///< A new field …. ///< assign other properties into this `field` field.FieldType = FieldType.Phone; // How to automatically update `SortOrder` // […]