我正在使用SQL Server数据库处理vs 2010和EF 4.1.下面提到的代码适用于本地SQL Server DB.(SQL 2008).
但是,当我发布Windows AZURE云和SQL Azure的MVC应用程序时,它给出了下面提到的错误.
我的存储库代码示例如下所示.下面提到错误来自调用 Catalog.SaveChanges()方法.
using (var catalog = new DataCatalog())
{
var retailSaleReturn = new RetailSaleReturn
{
ReturnQuantity = returnQuantity,
Product = saleDetailObj.Product,
Owner = owner,
Provider = provider,
};
//add to context
Catalog.RetailSaleReturns.Add(retailSaleReturn);
//save for db
Catalog.SaveChanges();
}
Run Code Online (Sandbox Code Playgroud)
DbUpdateException如下所示:
{"An error occurred while saving entities that do not expose foreign …Run Code Online (Sandbox Code Playgroud) azure c#-4.0 entity-framework-4.1 asp.net-mvc-3 azure-sql-database
我们在Pricing Tier中有一些数据库:Basic,S0...如下图所示:
这些数据库是在创建新弹性池之前创建的.现在我们要将这些数据库移动到弹性池中以节省成本.但似乎我不知道如何在Azure门户上移动它们.
只是想知道每个人对于什么ORM用于SQL Azure的想法?
我很习惯使用LINQ-to-SQL,我相信它可以让它与SQL Azure一起使用.但是,根据我的理解(如果我错了,请纠正我),在.NET框架的未来版本中,Linq-to-SQL不会有进一步的改进吗?
或者,有实体框架......而且更远离Microsoft Camp的NHibernate.
理想情况下,任何其他建议应该是免费或开源的.我见过Telerik的ORM,但这当然是商业产品.
我可以通过Google搜索获得每个ORM的定义/好处,但我只是对人们对ORM似乎最适合他们的意见感兴趣(即使它不是上述内容)
我已经尝试过,并且无法联系到.我可以使用SSMS连接到服务器,但无法从本地服务器链接到它.这是我的脚本(用括号替换相关信息):
EXEC master.dbo.sp_addlinkedserver
@server = N'[servername].database.windows.net',
@srvproduct = N'Any',
@provider = N'MSDASQL',
@datasrc = N'Azure_ODBC1'
GO
EXEC master.dbo.sp_addlinkedsrvlogin
@rmtsrvname = N'[servername]',
@useself = N'False',
@locallogin = NULL,
@rmtuser = N'[username]',
@rmtpassword = '[password]'
GO
Run Code Online (Sandbox Code Playgroud)

我将更改SQL Azure上的主键.但是,当使用Microsoft SQL Server Management Studio生成脚本时,它会引发错误.因为SQL Azure上的每个表都必须包含主键.在创建之前我不能放弃它.如果我必须改变它,我该怎么办?
脚本生成
IF EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'[dbo].[mytable]') AND name = N'PK_mytable')
ALTER TABLE [dbo].[mytable] DROP CONSTRAINT [PK_mytable]
GO
ALTER TABLE [dbo].[mytable] ADD CONSTRAINT [PK_mytable] PRIMARY KEY CLUSTERED
(
[id] ASC
)WITH (STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF)
GO
Run Code Online (Sandbox Code Playgroud)
错误信息
Msg 40054, Level 16, State 2, Line 3
Tables without a clustered index are not supported in this version of SQL Server. Please create a clustered index …Run Code Online (Sandbox Code Playgroud) 是否可以从SQL Server 2008中不是主键的create table语句创建聚簇索引?
这个目的是针对SQL Azure中的表,因此我不能首先创建表,然后在表上创建聚簇索引.
编辑:显然它是导致我的问题的FluentMigrator,它的版本表没有聚集索引,因此尝试创建版本控制表而不是我的表是错误的.
sql-server clustered-index sql-server-2008 sql-server-2008-r2 azure-sql-database
我有一个数据库,我正在迁移到SQL Azure.此数据库中有几个依赖于ContainsTable的存储过程.根据我的理解,SQL Azure不支持这一点.因此,我希望有一种方法可以在C#代码中模仿这个功能.
有谁知道如何:a)在SQL Azure中使用ContainsTable或b)在C#代码中模仿它?
SQL Azure的数据库大小限制为150 GB.我已多次阅读他们的文档并在线搜索但我不清楚这一点:使用联合会是否允许开发人员增长超过150 GB的数据库?例如,我可以拥有几个150GB的联盟成员.
如果没有,我如何在Windows Azure上处理大于150 GB的数据库?
基本上,如何在Windows Azure上扩展超过150 GB
如果没有其他方式RDS是一个很好的选择(分享任何其他选择)
这是在Azure上.
我有一个超类型实体和几个子类型实体,后者需要从每个插入的超类型实体的主键获取它们的外键.在Oracle中,我使用BEFORE INSERT触发器来完成此任务.如何在SQL Server/T-SQL中实现这一目标?
DDL
CREATE TABLE super (
super_id int IDENTITY(1,1)
,subtype_discriminator char(4) CHECK (subtype_discriminator IN ('SUB1', 'SUB2')
,CONSTRAINT super_id_pk PRIMARY KEY (super_id)
);
CREATE TABLE sub1 (
sub_id int IDENTITY(1,1)
,super_id int NOT NULL
,CONSTRAINT sub_id_pk PRIMARY KEY (sub_id)
,CONSTRAINT sub_super_id_fk FOREIGN KEY (super_id) REFERENCES super (super_id)
);
Run Code Online (Sandbox Code Playgroud)
我希望插入sub1一个触发器来实际插入一个值super并使用super_id生成的值sub1.
在Oracle中,这可以通过以下方式完成:
CREATE TRIGGER sub_trg
BEFORE INSERT ON sub1
FOR EACH ROW
DECLARE
v_super_id int; //Ignore the fact that I …Run Code Online (Sandbox Code Playgroud) 我在azure中设置了一组资源组合在一起的资源.我希望我的服务位于西欧,所以我的所有资源都在那里(如果可能的话)
我刚刚注意到,在创建资源组时,我意外地使用了West US.
所以目前的设置是:
资源组1(美国西部)
我是否可以更改资源组的位置而无需创建新资源组并进行迁移?
也许更重要的是:我应该改变位置还是不影响任何东西?
谢谢!
azure azure-storage azure-web-sites azure-resource-manager azure-sql-database