我首先使用实体框架代码来创建我的表格。请注意 - 创建表,而不是数据库,因为我在托管环境中工作并且我没有允许创建数据库的用户。
提交数据库更新工作正常,但检索数据会出现异常:
Exception Details: System.Data.SqlClient.SqlException: Invalid object name 'dbo.EventHosts'.
我读到它发生是因为我没有使用 EF Code First 创建数据库。很好,但我该如何优雅地解决这个问题?
所有生成的表都没有像dbo这样的前缀。像这样的解决方案是行不通的,而且一点也不优雅:
[Table("EventHosts", Schema = "")]
最佳答案
好的,对我来说问题是我有一个名为 dbo.UserState
的表,并且在 C# 中 EF 正试图访问 dbo.UserStates
因为多元化。
解决方案是将 Table
属性放在类之上并指定确切的表名:
[Table("UserState")]
public class UserState
{
[Key]
public int UserId { get; set; }
}
关于c# - 从生成的表中检索数据时对象名称 'dbo.TableName' 无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10473184/