در نوشته Data Annotation در Entity Framework – بخش سوم درباره ویژگی DataType گفتیم و بازهم در این نوشته می خواهیم درباره چگونگی شناساندن نوع ستون نهایی در جدول صحبت کنیم. در میان عبارت ها یا ویژگی های Data Annotation ویژگی Column برای تعریف نام ستون به کار می رود. کد زیر ساختار ویژگی Column v نشان می دهد. نخستین پارامتر ورودی نام نهایی برای ستون در جدول است. دومین یک شماره صحیح که به ترتیب یا اندیس ستون در میان بقیه ستون های جدول اشاره دارد و آخرین پارامتر، TypeName است.

فرض کنید می خواهیم ستون نهایی از نوع nvarchar باشد که ۱۰۰ کاراکتر را در خود نگه دارد. در شکل زیر کلاس مدلی به نام Employee نوشته ایم که دارای ۵ ویژگی به نام های EmployeeId و FirstName و LastName و Age و HireDate است. بالای EmployeeId ویژگی Key نوشته شده، پس کلید اصلی است و همچنین رشته emp_id به ویژگی Column فرستاده شده، پس نام ستون در جدول emp_id می شود.

همچنین برای ویژگی HireDate نخست رشته emp_hire_date را انتخاب کردیم، پس نام ستون در جدول emp_hire_date خواهد بود. سپس نوع ستون را آشکارا DataTime2 که یک نوع در SQL Server برای نگهداری داده های زمان و روز است. بنابراین شما می توانید آشکارا نوع و مقدار ستون را اینگونه تعریف کنید. همچنین در کد بالا نام جدول employee می شود، زیرا آن را به کمک ویژگی Table مشخص کرده ایم.

تعیین NULL بودن یا نبودن

در شکل بالا ویژگی Age به صورت int? Age تعریف شده است که به خاطر استفاده از ? پس از نوع int (یا هر نوع دیگری)، این ویژگی یک ستون Nullable خواهد یود. زمانی که ستونی Nullable باشد، پس می توان در درج داده ها برای آن مقداری تعیین نکرد و مقدار NULL در ستون مربوط به سطر درج می شود.

مقدار پیش فرض

در تعریف ستون های جدول می توانید یک مقدار پیش فرض را مشخص کنید تا اگر در دستور INSERT چیزی برای آن ستون درج نشد، پس آن مقدار پیش فرض به کار گرفته شود. برای نمونه ستونی NOT NULL برای نگهداری تاریخ استخدام داریم که نباید خالی باشد و از این رو در SQL Server مقدار پیش فرض را برای آن تعیین می کنیم. در شکل بالا می بینید که برای ویژگی HireDate مقدار DateTime.Now انتساب داده شده است که این منجر می شود تا در پایگاه داده و بر پایه ویژگی های SQL Server مقداری پیش فرض مشخص می شود که برای نمونه می تواند مقدار برگشتی تابع ()GETDATE باشد.

به عنوان یک نمونه دیگر از کاربردهای ویژگی Column می توانید به کد زیر نگاه کنید که دیگر مقدارهای شناخته شده در SQL را استفاده شده است. برای نمونه در SQL نوع TEXT برای نگهداری متن های بلند و چند خطی استفاده می شود. در SQL Server نوع MONEY و SMALLMONEY برای نگهداری مقدارهای واحد پولی (Currency) استفاده می شوند.

ترتیب ستون ها در جدول

در کد زیر بوسیله Order آشکارا ترتیب دو ویژگی پایانی که ستون هایی از جدول می شوند را مشخص کرده ایم. چون برای دو ستون آغازین Order مشخص نشده، پس ترتیب آنها از بالا به پایین ستون های اول و دوم در جدول هستند. همچنین توجه کنید که اصلا ویژگی Column برای آنها تعیین نشده پس نام ستون های مرتبط با آنها همنام ویژگی های کلاس است. ولی برای دو ویژگی پایانی آشکار ترتیب های ۴ و ۳ را مشخص کردیم، پس آخرین ویژگی کلاس، سومین ستون جدول و سومین ویژگی کلاس، آخرین ستون جدول هستند.