点击这里查看如何使用代码优先的方法。 原来的数据库下面先问答。 我正在使用实体devise器来创build数据库的第一个模型。 现在我想在ProductId和ProductId之间创build一个外键关系(见下文)。 我看着“添加新的关联”,但我不能连接这两个项目。 更有经验的人能告诉我如何做到这一点?
我试图调用一个接受表值参数的存储过程。 我知道,这不是直接支持在entity framework,但从我的理解,你可以使用ExecuteStoreQuery命令closures的ObjectContext 。 我有一个通用的entity framework库,我有以下ExecuteStoredProcedure方法: public IEnumerable<T> ExecuteStoredProcedure<T>(string procedureName, params object[] parameters) { StringBuilder command = new StringBuilder(); command.Append("EXEC "); command.Append(procedureName); command.Append(" "); // Add a placeholder for each parameter passed in for (int i = 0; i < parameters.Length; i++) { if (i > 0) command.Append(","); command.Append("{" + i + "}"); } return […]
我有一个默认的成员资格数据库的asp.net-mvc应用程序。 我正在通过ADO.NETentity framework访问它。 现在我想把它移动到IIS,但出现了一些问题。 我不得不安装SQL Server Management Studio,创build新的数据库,导入那里以前.MDF文件的所有数据。 只有剩下要做的事情(据我所知)是改为连接string。 不过,我并没有真正体验到这一点,并不断得到不支持的关键字:“数据源”。 例外。 这是我的连接string: <add name="ASPNETDBEntities" connectionString="Data Source=MONTGOMERY-DEV\SQLEXPRESS;Initial Catalog=ASPNETDB;Integrated Security=True;" providerName="System.Data.EntityClient" /> 任何想法,怎么了?
我使用Entity Framework Code First , 我的连接string在configuration文件中: <connectionStrings> <clear/> <add name="ApplicationServices" connectionString="Data Source=PC-X;Initial Catalog=MYdb;Integrated Security=True"/> </connectionStrings> 当我尝试访问数据(应该创build数据库的东西)正在下降,出现以下错误: The connection string 'ApplicationServices' in the application's configuration file does not contain the required providerName attribute." 我错过了什么?
从我在网上看到的例子和编程entity frameworkCodeFirst的书中,当你在两个类上都有一个集合时,EF会创build一个映射表,比如MembersRecipes ,每个类的主键都会链接到这个表。 然而,当我做下面,我反而在Recipes表中的Members表中称为Member_Id和Recipe_Id一个新的领域。 这只会创build两个一对多的关系,但不是一个多对多的,所以我可以有成员3链接到食谱(4,5,6)和链接到成员(1,2,3)等4食谱 有没有办法创build这个映射表? 如果是这样的话,你怎么把它叫做“食谱”呢? 谢谢 public abstract class Entity { [Required] public int Id { get; set; } } public class Member : Entity { [Required] public string Name { get; set; } public virtual IList<Recipe> Recipes { get; set; } } public class Recipe : Entity { [Required] public string Name […]
我已经使用“ Add-Migration命令创build了一个迁移,但是我想更改迁移的名称。 如何撤消迁移命令,以便使用新的所需名称重新生成它? 这只是删除生成的文件的问题,或者这可能是一个坏主意?
我正在添加一个新的迁移,但是这个消息显示: 无法生成显式迁移,因为以下显式迁移未决:[201203170856167_left]。 在尝试生成新的显式迁移之前应用待处理的显式迁移。 谁能帮我?
当我在一个独立的场景,并从我映射到一个实体来保存它的客户端得到一个dto我这样做: context.Entry(entity).State = EntityState.Modified; context.SaveChanges(); 那么什么是DbSet.Attach(entity) 或者为什么当EntityState.Modified已经附加实体时应该使用.Attach方法?
得到这个错误: System.Data.SqlClient.SqlException:将datetime2数据types转换为date时间数据types导致超出范围的值。 我的实体将所有行alignment到DB对象。 我只通过Googlefind了这个错误的一个引用: 谷歌的结果 读完这个之后,我记得我们添加了2个字段,然后更新了VS 2010的实体模型。我不确定他是通过手工编码差异来表示他的意思。 我没有看到任何 我所做的代码是填充实体对象,然后保存。 (我也在代码中填充新的字段)我用DateTime.Now填充date字段.. 代码的重要部分是这样的: ctx.SaveChanges(SaveOptions.AcceptAllChangesAfterSave); 数据库是SQL Server 2008。 思考? 其余的错误: 在System.Data.Objects.ObjectContext.SaveChanges(SaveOptions选项)System.Data.EntityClient.EntityAdapter.Update(IEntityStateManager entityCache)System.Data.Mapping.Update.Internal.UpdateTranslator.Update(IEntityStateManager stateManager,IEntityAdapter适配器) SpeciesPost.svc.cs中的SafariAdmin.Site.WebServices.SpeciesPost.SaveOrUpdateSpecies(String sid,String fieldName,String authToken):SpeciesPostSVC_Tester.cs中的SafariAdmin.TestHarness.Tests.Site.WebServices.SpeciesPostSVC_Tester.SaveNewSpecies()中的第58行:line System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning()方法System.Data.SqlClient.SqlInternalConnection.OnError(SqlExceptionexception,布尔breakConnection)上的System.Data.SqlClient.SqlConnection.OnError(SqlExceptionexception,布尔breakConnection)在System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior,SqlCommand cmdHandler,SqlDataReader的dataStream,BulkCopySimpleResultSet bulkCopyHandler,TdsParserStateObject stateO bj)System.Data.SqlClient.SqlDataReader.ConsumeMetaData()System.Data.SqlClient.SqlDataReader.get_MetaData()在System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds,RunBehavior runBehavior,stringresetOptionsString)在System.Data .SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior,RunBehavior runBehavior,布尔returnStream,布尔asynchronous)在System.Data.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior,RunBehavior runBehavior,布尔returnStream,string方法,DbAsyncResult结果)在System.Data。 SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior,RunBehavior runBehavior,布尔returnStream,string方法)在System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior行为,string方法)在System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior行为)在System.Data.Common.DbCommand.ExecuteReader(CommandBehavior行为)在System.Data.Mapping.Update.Internal.DynamicUpdateComma 在System.Data.Mapping.Update.Internal.UpdateTranslator.Update(IEntityStateManager stateManager,IEntityAdapter适配器)上的nd.Execute(UpdateTranslator转换器,EntityConnection连接,Dictionary 2 identifierValues, List 1 generatedValues)
我有一个表用户有一个标识列UserID ,现在什么是正确的Linq实体行代码,将返回我最大的UserID ? 我试过了: using (MyDBEntities db = new MyDBEntities()) { var User = db.Users.Last(); // or var User = db.Users.Max(); return user.UserID; } 但是Last和Max似乎不被支持。 有任何想法吗?