В Entity Framework 6.1 в миграции на основе кода на C# (с использованием System.Data.Entity.Migrations.DbMigration) при изменении определения хранимой процедуры с использованием метода DbMigration.AlterStoredProcedure в качестве правильного синтаксиса для добавления или изменения параметра хранимой процедуры типа smallmoney
(на SQL Server 2012)?DbMigration.AlterstoredProcedure (Entity Framework migration): как представить тип smallmoney?
Например, если у меня есть метод миграции, который изменяет существующую хранимую процедуру SQL Server, который принимает три параметра, типа int
, varchar
и smallmoney
соответственно:
public partial class MyCustomMigration : DbMigration
{
public override void Up()
{
this.AlterStoredProcedure("dbo.EditItem", c => new
{
ItemID = c.Int(),
ItemName = c.String(),
ItemCost = /* What goes here to represent the smallmoney SQL Server type? */
},
@" (New sproc body SQL goes here) ");
}
// ...
}
Вы можете попробовать с 'ItemCost = c.Decimal (storeType: "smallmoney")' ... На самом деле вы можете использовать любой метод здесь: 'c.Int()' или 'c.Double()' или что-либо, пока вы явно не укажете 'storeType:" smallmoney "' – nemesv
. Связанный с этим вопрос: как указать длину для строковых переменных: http://stackoverflow.com/ вопросы/7341783/объектный-рамочный-данные-аннотаций-набор-StringLength-VARCHAR/7341920 –