كيفية تمرير المعلمات إلى أسلوب DbMigration.Sql()
-
21-12-2019 - |
سؤال
عند استخدام Entity Framework Migrations، فإن DbMigration
الطبقة الأساسية لديه طريقة Sql التي تأخذ المعلمات في كائن مجهول
لا أستطيع طوال حياتي معرفة كيفية استخدامه.
Sql(@"
UPDATE dbo.SlideSets
SET Name = @Name,
", false, new {
Name = "Foo"
}
);
النتائج في الخطأ
System.Data.SqlClient.SqlException (0x80131904): Must declare the scalar variable "@Name"
ما هو بناء الجملة الصحيح لهذا البيان؟
المحلول
لقد بحثت في كود مصدر EF ويبدو أن هذه المعلمة (أو بالأحرى MigrationOperation.AnonymousObject
الخاصية التي تم إنشاؤها منه) لا يتم استخدامها على الإطلاق!
نصائح أخرى
المولد القياسي لـ MSSQL لا يفعل شيئًا مع الكائن المجهول في هذه الحالة.تحتاج إلى وضع المعلمة مباشرة في الأمر.أو يمكنك استخلاصها بنفسك والتعامل معها.
لا تنتمي إلى StackOverflow