标签: entity-model

在vs2010中找不到ADO.NET实体模型浏览器窗口

我想从数据库更新我的ADO.NET实体框架模型,但我找不到实体模型浏览器窗口.还有就是如何更新我的模型的例子在这里,但我怎么也找不到打开模型浏览器.有人可以告诉我如何使用Visual Studio 2010打开它吗?

我尝试通过视图菜单找到它,右键单击.edmx文件时我没有得到任何有效选项.

ado.net entity-framework visual-studio-2010 entity-model

30
推荐指数
3
解决办法
3万
查看次数

将实体模型(edmx)重新添加时,表格不显示

我有一个包含5个表的数据库.一开始,我已经添加了这些表,但后来由于某些关系编译错误而决定删除一些.

现在,当我想要添加它们时,我正在打开edmx文件 - >从数据库更新模型...我没有在添加选项卡下看到这些表,而只是在"刷新"选项卡下.

我该如何添加它们?

entity-framework edmx entity-model

17
推荐指数
2
解决办法
3万
查看次数

找不到概念模型类型

我在MVC3项目A和B中有两个实体数据模型.

我最近添加了新的实体数据模型B来处理一些新功能,问题是现在现有代码已经停止工作,并且在尝试访问实体模型A中的代码时出现以下错误.

错误消息是:

找不到概念模型类型'project.models.Bclass'

我不明白为什么这个新功能影响了当前代码,因为实体模型A没有任何改变.功能B在一个单独的类中,不会干扰模型A.

当从项目中删除新代码并且排除实体模型B时,代码将按预期工作.

以下是错误中的一些堆栈跟踪:

Exception : Could not find the conceptual model type for 'Project1.Models.CrossSession'.
Application Class - method : System.Data.Metadata.Edm.MetadataWorkspace -- GetEdmSpaceType
User : temp.user
Url : http://localhost/project1/auth/message
Stacktrace :    at System.Data.Metadata.Edm.MetadataWorkspace.GetEdmSpaceType(StructuralType objectSpaceType)
   at System.Data.Entity.Internal.InternalContext.UpdateEntitySetMappings()
   at System.Data.Entity.Internal.InternalContext.TryUpdateEntitySetMappingsForType(Type entityType)
   at System.Data.Entity.Internal.InternalContext.GetEntitySetAndBaseTypeForType(Type entityType)
   at System.Data.Entity.Internal.Linq.InternalSet`1.Initialize()
   at System.Data.Entity.Internal.Linq.InternalSet`1.get_InternalContext()
Run Code Online (Sandbox Code Playgroud)

entity-framework entity-model asp.net-mvc-3

17
推荐指数
4
解决办法
2万
查看次数

如何在更改数据库结构后正确更新实体模型?

我在表结构中做了一些更改,尤其是SQL Server数据库中表之间的关系.现在我想基于这个新的数据库结构更新我的实体模型.

右键单击edmx文件,我找到"从数据库更新模型"选项.但是当我这样做时,我得到了50%的更新:新的列出现在实体类中,但我对模型中仍然存在的许多导航属性感到困惑,尽管相应的外键关系不再存在数据库.(编辑:尽管数据库中的列已被删除,但模型类中的成员也不会被删除.)

难道我做错了什么?或者是否有其他选项来更新模型,包括删除导航属性?或者我是否必须在模型文件中手动删除这些导航属性?

我正在使用实体框架版本1(VS 2008 SP1).

提前感谢您的帮助!

entity-framework entity-model

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

实体模型问题:无法为一个特定表创建模型

在创建实体模型时,我收到以下错误.

Added the connection string to Web.Config.
Successfully registered the assembly 'System.Data.Entity, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' in Web.Config.
ERROR: Unable to generate model because of the following exception: 'Value does not fall within the expected range.'.
Loading metadata from database took 00:00:02.1203632.
Generating model took 00:00:00.8390920.
Writing out the EDMX file took 00:00:00.
Run Code Online (Sandbox Code Playgroud)

所有表都被创建但BC_States表没有被创建.我无法理解为什么.

entity-framework entity-model

13
推荐指数
2
解决办法
6193
查看次数

javax.persistence @Column上的length字段是否定义了max?

我有这个代码:

public class Item { 
    @Column(name = "serialNo", length = 12)
    public String getSerialNo() {
        return this.serialNo;
    }

    public void setSerialNo(String serialNo) {
        this.serialNo = serialNo;
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,数据库模式将列定义为长度为13.当通过以下方式检索项时:

List<Item> items = getEntityManager().createNamedQuery(SQL).getResultList();
Run Code Online (Sandbox Code Playgroud)

具有数据serialNo等于字符13(因为分贝表模式允许13)仍然被显示为13,不会被截断.@Column length当时有什么用?

java annotations hibernate jpa entity-model

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

实体框架无需请求即可加载导航属性

在项目中工作时,我看到了一个奇怪的行为,我无法理解加载导航属性。

这是一个重现这个“问题”的小例子。

在此处输入图片说明

我想加载一年,但不包括公司的数据(导航属性)。

我的代码:

public static Year GetYear(int id)
{
    using (var context = new testModelContainer())
    {
        var result = context.YearSet.FirstOrDefault(c => c.Id == id);
        //Company test = context.CompanySet.Where(c => c.Id == id).FirstOrDefault();

        return result;
    }
}  
Run Code Online (Sandbox Code Playgroud)

这将返回我想要的年份,导航属性中没有数据,但是如果我取消注释该行并只执行该行,可能是因为我想知道公司名称或其他什么,它会自动将公司数据包含到公司中年度最佳导航属性。

知道如何防止这种行为吗?出于安全原因,我想避免发送“父母”的数据。

我正在使用 EF 6、.NET 4.5。

c# entity-framework navigation-properties entity-model

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

如果数据库表中不存在列,则排除或忽略实体模型的属性

我在实体模型中添加了新属性,因为新列已添加到数据库表中。但该列可能存在于其他客户端数据库中。那么,如何处理呢?我已经尝试过modelBuilder.Entity<Customer>().Ignore(customer => customer.FullName); ,但它并没有忽略实体中的属性。因为我们有实体映射类,所以它不会忽略它。请问解决办法?

.net c# entity-model entity-framework-6

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

Visual Studio 2010的数据库生成模型在尝试使用MySQL ADO.NET驱动程序连接到DB时会出现错误消息,如何修复?

我正在尝试使用MySQL的官方Connector/Net 6.4.3 ADO.NET驱动程序从我的MySQL数据库生成我的ADO.NET实体模型.但是,在我输入我的DB-info,然后单击下一步(测试连接报告成功连接)后,我从Visual Studio收到以下错误消息:

连接到数据库时发生错误.数据库可能不可用.发生了'System.Data.ProviderIncompatibleException'类型的异常.错误消息是:'提供程序未返回ProviderManifestToken字符串'.

捕获的内部异常是'System.FormatException'类型,并显示以下错误消息:'输入字符串格式不正确.'.

有人知道怎么修这个东西吗?

mysql ado.net connection-string visual-studio-2010 entity-model

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

'row_number'不是可识别的函数名称.关键字"AS"附近的语法不正确

我创建了一个带有SQL Server数据库的简单项目,该数据库包含许多表和大量索引,但没有什么真正复杂的.没有触发器,没有存储过程,没有额外的"数据库魔术".代码是用C#编写的,使用实体模型和动态数据站点来快速设置基础知识,因此一些键入的猴子可以投入工作并执行一些基本数据输入,同时我将修改项目以使其更加成熟.

在SQL Server 2005上测试过,一切正常.所以我通过Visual Studio进行了设置,并将其发送给键入Monkeys及其管理员.他们所要做的就是:1)创建一个新的数据库.2)执行数据库的Create脚本.3)安装我给他们的设置.4)修改连接字符串,它恰好放在特殊的配置文件中以方便使用.5)使用Web界面并在出现问题时通知我.

出了点问题.完整的错误:第1行:''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

我的代码中没有使用'row_number'.我只是使用Linq进行查询.此外,由于实体模型,我甚至不必担心做任何SQL的东西.(尽管我很擅长.)

我的第一个猜测是他们使用了错误的连接字符串.他们可能正在SQL Server上安装这个应用程序(它应该仍然可以工作),但它们并没有完全改变连接字符串,现在我的项目认为它正在使用SQL Server 2005.(或者其他什么.)我是对的还是由于某些原因引起的其他讨厌的bug?

完整错误:

[SqlException(0x80131904):第1行:'('.''row_number'附近的语法不正确不是可识别的函数名.关键字'AS'附近的语法不正确.]
System.Data.SqlClient.SqlConnection.OnError(SqlException exception,Boolean breakConnection)+1950890 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception,Boolean breakConnection)+4846875 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)+194
System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler,SqlDataReader dataStream,BulkCopySimpleResultSet bulkCopyHandler,TdsParserStateObject stateObj)+2392
System.Data.SqlClient.SqlDataReader.ConsumeMetaData()+33 System.Data.SqlClient.SqlDataReader.get_MetaData()+83 System.Data.SqlClient.SqlCommand.FinishExecuteReader( SqlDataReader ds,RunBehavior runBehavior,String resetOptionsString)+297
System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior,RunBehavior runBehavior,Boolean returnStream,Boolean async)+954 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior,RunBehavior runBehavior,Boolean returnStream,String method,DbAsyncResult result)+162
System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior,RunBehavior runBehavior, Boolean returnStream,String method)+32 System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior,String method)+141
System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior)+12
System.Data.Common.DbCommand.ExecuteReader (CommandBehavior行为)+10
System.Data.EntityClient.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand,CommandBehavior behavior)+387

[EntityCommandExecutionException:执行命令定义时发生错误.有关详细信息,请参阅内部异常.]
System.Data.EntityClient.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand,CommandBehavior behavior)+423
System.Data.Objects.Internal.ObjectQueryExecutionPlan.Execute(ObjectContext context,ObjectParameterCollection parameterValues)+743
System.Data. Objects.ObjectQuery 1.GetResults(Nullable1 forMergeOption)+157
System.Data.Objects.ObjectQuery`1.GetIListSourceListInternal()+ 13 System.Data.Objects.ObjectQuery.System.ComponentModel.IListSource.GetList()+ System.Web.UI.WebControls. …

c# dynamic-data-site entity-model

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

LINQ实体数据模型生成的代码错误 - 类型'DBContexts.Category'已经包含'ID'的定义

我的数据库中有两个表 - 类别和部门,它们都包含相同的列 - ID,名称和代码.

我可以使用Visual Studio 2008设计器创建一个新的实体模型并添加部门,它工作正常 - 我可以使用LINQ查询数据库,一切都很好.

当我更新模型并添加Category表时,生成的代码在我尝试编译时会抛出以下错误.

The type 'DBContexts.Category' already contains a definition for 'ID'
The type 'DBContexts.Category' already contains a definition for '_ID'

The type 'DBContexts.Category' already contains a definition for 'Name'
The type 'DBContexts.Category' already contains a definition for '_Name'

A partial method may not have multiple defining declarations
Run Code Online (Sandbox Code Playgroud)

我想这与Department和Category具有相同的列名这一事实有关 - 但它不会导致Code列出现问题.

我有什么想法可以解决这个问题?我不能真正搞乱生成的代码,因为如果我更新模型,任何更改都将被删除.

干杯

.net c# linq entity-model linq-to-sql

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