إزالة عمود GUID الإنشاء التلقائي من صفحات إضافة الدخول في دينامية تطبيق ويب البيانات

StackOverflow https://stackoverflow.com/questions/454235

سؤال

ولدي البيانات الديناميكي تطبيق الكيانات ويب يستخدم قاعدة بيانات مع GUIDs كما المفاتيح الأساسية للجداول. كافة الحقول GUID ديك القيمة الافتراضية المقرر أن NEWID () بحيث SQL Server سيتم إنشاء GUID جديد لأي سجل. ولكن في دينامية الموقع البيانات الخاصة بي، في إدراج صفحات دخول جديدة يظهر الحقل GUID حتى ومن المتوقع للمستخدم لإدخال البيانات. كيف يمكن أن تمنع هذا المجال من الظهور؟

هل كانت مفيدة؟

المحلول

ووفقا ل MSDN :

و"يمكنك إخفاء المفتاح الأساسي كما تفعل أي عمود آخر باستخدام السمة سقالة وتحديد قيمتها إلى false. لأنه لم يتم التعرف على مفاتيح تتولد تلقائيا، وقوالب الصفحات إدراج الافتراضية لا تعمل مع EDM للجداول التي لديها المفاتيح الأساسية التلقائية إلا بعد إنشاء فئة جزئية للكيان وتطبيق السمة سقالة بقيمة كاذبة ".

وأيضا، بوصفها جانبا فمن الأفضل لاستخدام "newsequentialid ()" للقيمة الافتراضية من ارشد إذا كنت تستخدم SQL Server 2005 أو أعلى كما أنه أكثر كفاءة لإدراج.

نصائح أخرى

وليس الجواب الصحيح ..

وبعد القيام بذلك، وهو ما قمت به، يمكنك إدراج 1 سجل الذي سوف تحصل على GUID مع كل من الصفر. بعد أن تحصل على أية رسالة خطأ على الإطلاق، ولكنك لن تكون قادرة على إدراج أية سجلات، بسبب القيد فهرس فريد على ارشد (والذي هو مفتاح أساسي بطبيعة الحال).

لحل هذه المشكلة حقا، لديك لتحرير الملف emdx وإضافة

StoreGeneratedPattern="Identity"

والدخول الى حسابك في علامة خاصية ارشد تحت تعليق "محتوى SSDL". مثال:

   <Property Name="Guid" Type="uniqueidentifier" Nullable="false" StoreGeneratedPattern="Identity"/>

إذا yhou قيام بذلك في المصمم داخل الاستوديو البصري سيكون تعليم علامة خاصية تحت تعليق "CSDL المحتوى" الذي لا يعمل ..

والمستخدمة إطار الكيان 4.0 البصرية استوديو 10 وإطار NET 4.0

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top