我正在查看google和stackoverflow,但我没有找到答案,如何通过VS 2010中的连接字符串连接到我的数据库表?
<add
name="ArticleDBContext"
connectionString="Data Source=mssql3.webio.pl,2401;Initial Catalog=db_name;Persist Security Info=True;User ID=db_user;Password=passwd;Pooling=False"
providerName="System.Data.SqlClient"
/>
我总是得到错误:[SqlException(0x80131904):无效的对象名称'dbo.TableName'。]
我知道'dbo'是SCHEMA,我不需要它,我怎么能改变它?
我使用mvc和EntityFramework
,代码是这样的:
在模特中:
public class Article
{
public int ID { get; set; }
public string Title { get; set; }
public DateTime CreateDate { get; set; }
public string tekst { get; set; }
}
public class ArticleDBContext : DbContext
{
public DbSet<Article> Articles { get; set; }
}
并在控制器中:
public ViewResult Index()
{
return View(db.Articles.ToList());
}
示例来自http://www.asp.net/mvc/tutorials/getting-started-with-mvc3-part4-cs
答案 0 :(得分:2)
我找到答案并且有所帮助!
来源:http://blogs.x2line.com/al/articles/155.aspx
MSSQL:使用sp_changeobjectowner将表所有者更改为dbo
有时需要更改数据库中的所有表以由dbo拥有以进行维护或修复意外错误。 dbo模式拥有的所有表通常是使用MSSQL进行数据库应用程序开发的最佳实践,而我们可以在现实生活中遇到不同的方法......
以下小型SQL代码段遍历数据库中的所有用户表,并将其所有者更改为dbo。它使用sp_changeobjectowner系统存储过程:
DECLARE tabcurs CURSOR
FOR
SELECT 'SOMEOWNER.' + [name]
FROM sysobjects
WHERE xtype = 'u'
OPEN tabcurs
DECLARE @tname NVARCHAR(517)
FETCH NEXT FROM tabcurs INTO @tname
WHILE @@fetch_status = 0
BEGIN
EXEC sp_changeobjectowner @tname, 'dbo'
FETCH NEXT FROM tabcurs INTO @tname
END
CLOSE tabcurs
DEALLOCATE tabcurs