استفاده از attribute ها و فیلتر ها بر روی کلاس های پایگاه داده که با دیتابیس فیرست درست شده است
با سلام
من دیتابیس را به روش database first به وب سایتم متصل کردم حال می خواهم بر روی جداول از attribute ها و فیلتر ها استفاده کنم ولی چون در این روش اصلان کلاسی وجود ندارد در کتاب آموزشی که دارم مبحثی با عنوان "اعمال metadata به بک کلاس buddy " وجود دارد ولی متا دیتا مورد نظر اصلا وجود ندارد "[metadatatype(typeof(نام جدول)(]"
حال باید چه کار کنم
نقل قول: استفاده از attribute ها و فیلتر ها بر روی کلاس های پایگاه داده که با دیتابیس فیرست درست ش
[MetadataType(typeof(CategoryMetadata))]
public partial class Category
{
public class CategoryMetadata
{
[ScaffoldColumn(false)]
public int ID { get; set; }
[Required(ErrorMessageResourceType = typeof(SR.ValidationMsg), ErrorMessageResourceName = "Required")]
[Display(Name = "Name", ResourceType = typeof(SR.CategoryResource))]
[DataType(DataType.Text, ErrorMessageResourceType = typeof(SR.ValidationMsg), ErrorMessageResourceName = "InvalidData")]
[StringLength(100, ErrorMessageResourceType = typeof(SR.ValidationMsg), ErrorMessageResourceName = "StringLenght")]
public string Name { get; set; }
[Required(ErrorMessageResourceType = typeof(SR.ValidationMsg), ErrorMessageResourceName = "Required")]
[Display(Name = "Description", ResourceType = typeof(SR.CategoryResource))]
[DataType(DataType.MultilineText, ErrorMessageResourceType = typeof(SR.ValidationMsg), ErrorMessageResourceName = "InvalidData")]
[StringLength(500, ErrorMessageResourceType = typeof(SR.ValidationMsg), ErrorMessageResourceName = "StringLenght")]
public string Description { get; set; }
}
}
نقل قول: استفاده از attribute ها و فیلتر ها بر روی کلاس های پایگاه داده که با دیتابیس فیرست درست ش
بسم الله الرحمن الرحیم
با سلام
امیدوارم منظور دوستمونmze666 رو متوجه شده باشید.
مدلتون یک کلاس هم برای desiner.cs دارد، در کلاس مربوطه هر تغییری که بخواهید میتوانید بدهید.
موفق باشید.
نقل قول: استفاده از attribute ها و فیلتر ها بر روی کلاس های پایگاه داده که با دیتابیس فیرست درست ش
بسم الله الرحمن الرحیم
با سلام
نقل قول:
نوشته شده توسط
mze666
[MetadataType(typeof(CategoryMetadata))]
public partial class Category
{
public class CategoryMetadata
{
[ScaffoldColumn(false)]
public int ID { get; set; }
[Required(ErrorMessageResourceType = typeof(SR.ValidationMsg), ErrorMessageResourceName = "Required")]
[Display(Name = "Name", ResourceType = typeof(SR.CategoryResource))]
[DataType(DataType.Text, ErrorMessageResourceType = typeof(SR.ValidationMsg), ErrorMessageResourceName = "InvalidData")]
[StringLength(100, ErrorMessageResourceType = typeof(SR.ValidationMsg), ErrorMessageResourceName = "StringLenght")]
public string Name { get; set; }
[Required(ErrorMessageResourceType = typeof(SR.ValidationMsg), ErrorMessageResourceName = "Required")]
[Display(Name = "Description", ResourceType = typeof(SR.CategoryResource))]
[DataType(DataType.MultilineText, ErrorMessageResourceType = typeof(SR.ValidationMsg), ErrorMessageResourceName = "InvalidData")]
[StringLength(500, ErrorMessageResourceType = typeof(SR.ValidationMsg), ErrorMessageResourceName = "StringLenght")]
public string Description { get; set; }
}
}
لطفا راجع به SR که در این جا استفاده کردید؛ توضیح بدید.
با سپاس
نقل قول: استفاده از attribute ها و فیلتر ها بر روی کلاس های پایگاه داده که با دیتابیس فیرست درست ش
بله این قطعه کد رو از یکی از پروژه هام کپی پیست کردم و یادم رفت قسمت های اضافی (که مربوط به سوال دوستمون نمیشه) رو حذف کنم.
من در اکثر پروژه هام یک پروژه Class Library جدا درست می کنم (اینجا اسمش رو SR گذاشتم) و ریسورس ها (فایل های .resx) رو داخل اون قرار میدم. در حقیقت SR در اینجا namespace هستش.
نقل قول: استفاده از attribute ها و فیلتر ها بر روی کلاس های پایگاه داده که با دیتابیس فیرست درست ش
بسم الله الرحمن الرحیم
با سلام
نقل قول:
نوشته شده توسط
mze666
بله این قطعه کد رو از یکی از پروژه هام کپی پیست کردم و یادم رفت قسمت های اضافی (که مربوط به سوال دوستمون نمیشه) رو حذف کنم.
من در اکثر پروژه هام یک پروژه Class Library جدا درست می کنم (اینجا اسمش رو SR گذاشتم) و ریسورس ها (فایل های .resx) رو داخل اون قرار میدم. در حقیقت SR در اینجا namespace هستش.
ممنون از پاسختون
راستی میدونید برای اینکه محدودیت برای نوع فیلدها مثلا int بگذاریم باید چی کار کنیم؟ که اگه کاربر اون نوع رو وارد نکرد پیغام خطای مربوطه رو ببینه.
با سپاس
نقل قول: استفاده از attribute ها و فیلتر ها بر روی کلاس های پایگاه داده که با دیتابیس فیرست درست ش
خواهش می کنم.
خود MVC یادم نیست همچین قابلیتی رو داشت یا نه. فکر کنم DataType("Integer") بود. یا شایدم با Range Attribute. ولی اصلاً درست یادم نمیاد.
در هر حال این لینک چیزی که می خواید رو داره + چندتا Attribute مفید دیگه.
نقل قول: استفاده از attribute ها و فیلتر ها بر روی کلاس های پایگاه داده که با دیتابیس فیرست درست ش
بسم الله الرحمن الرحیم
با سلام
لینکی که فرموده بودید دیدم؛ از یه خاصیت به نام [Integer] استفاده کرده بود ولی جزء DataAnnotationهای موجود نبود.
با سپاس