میخوایم یک entity تایپ رو برای تیبلی جز اونکه براش ساخته شده رو در زمان اجرا داشته باشیم ، یک تیبل با همون فیلد ها و ویژگی ها ، فقط اسمش متفاوت هست
حالا یا به عنوان چنج تیبل یا استفاده جداگانه ازون entity model :چشمک:
چیکار باید کرد به نظر شما؟
Printable View
میخوایم یک entity تایپ رو برای تیبلی جز اونکه براش ساخته شده رو در زمان اجرا داشته باشیم ، یک تیبل با همون فیلد ها و ویژگی ها ، فقط اسمش متفاوت هست
حالا یا به عنوان چنج تیبل یا استفاده جداگانه ازون entity model :چشمک:
چیکار باید کرد به نظر شما؟
خیلی کلی و نامفهوم توضیح دادی. بهتر بیان کن لطفا.
خیلی واضح بیان کردم
به عبارتی دیگر مدلی که برای یک تیبل ساخته شده برای تیبل های مشابه دیگه هم قابل استفاده باشه البته در زمان اجرا (dynamic)
منطورت از تیبلهای مشابه چیه؟ یعنی تو جداول دیگه این پروپرتی ها تکرار شدن؟
تقریباً منظور بنده همین بوده
جسارتا حالا منظورتون برای این کار چیه برای اینکه هنوزم نمیدونم چرا اینو میخواید انجام بدید؟
خواهش میکنم، به نظرم خیلی میتونه مورد توجه باشه جای توضیح نداره
- جلوگیری میکنه از ساخت مدل های متعدد برای تیبل هایی که ساختارشون یکسان هست
- دوم هم امکان داینامیک شدن تیبل رو در زمان اجرا میده
برای مثال در نظر بگیرین از entity model استفاده کردید و اسم تیبل در زمان اجرا عوض میشه اینجا میخواید چیکار کنید؟ اگر در ado.net بود اسم تیبل رو در کوئری ها متغییر میکردید ولی اینجا چطور؟
up it.............
سلام،
برای اطلاع خودم میخوام بدونم؛ میشه بگی چرا در زمان اجرا اسم یه جدول ممکنه عوض بشه!؟ این عمل چه کاربردی میتونه داشته باشه ؟
همکار عزیز، این قضیه اصلاً شخصی نیست که راجع به علتش سوال میشه
شما خودتون در نظر بگیرید اسم جدول در یک ایکس ام ال تعیین شده که در زمان اجرا خونده میشه ، اینجا اگر اسم جدول رو بخواید در زمان اجرا ست کنید چیکار میکنید؟نقل قول:
- جلوگیری میکنه از ساخت مدل های متعدد برای تیبل هایی که ساختارشون یکسان هست
- دوم هم امکان داینامیک شدن تیبل رو در زمان اجرا میده
سلام دوست عزیز
این نظر بنده است که ممکنه ناقص باشه .اگه اشتباه می کنم شما اصلاح کنید.
Entity روشی ایه واسه این که ما بتونیم با جداول و دیگر اجزاء بانک اطلاعاتی مانند یک شی رفتار کنیم.
و بتونیم از مدل شی گرا واسه اون استفاده کنیم .
قبل از اینکه از Entity استفاده بشه برای اینکه با جداول ماننذ شی رفتار بشه برنامه نویس خودش میومد یک کلاس می نوشت و بوسیله کلاسش با جدول ارتباط برقرار می کرد.من نمیدونم این امکان داخل Entity هست یا نه ولی میدونم بخوای میتونی بانک های موجودت رو با Entity مدیریت کنی و بانکهایی رو که در زمان اجرا می خوای بصورت پویا مدیریت کنی با یه کلاس این کارو بکن.
یهنی یک کلای بنویس و بوسیله متغیر ها ، فیلد های بانک اطلاعاتیت رو ذخیره و روی بانک های موجود درج کنی.
این جواب من نبود ، من هم مبتدی نیستم
وقتی عنوان تاپیک حرفه ای هست یعنی از همه این ها اطلاع دارم و فقط و فقط میخوام بدونم راهی برای این مسئله در entity هست یا نه ! اگر میخواستم کلاس بنویسم و از entity استفاده نمیکردم دیگه خودم میدونستم باید چکار کنم ، نخوندی راجع به ado .net گفتم خودم؟!
برای درک بهتر، اگر یادتون باشه در linq-sql هم همین مسئله بود
تاپیک مشابه :
https://barnamenevis.org/showthread.p...%AF%D8%B1-linq
به نوعی اگر بشه فقط در اسم تیبل موجود در اس کیو ال کوئری هایی که entity تولید میکنه دست برد ، چون schema جدول یکسان هست
همون طور که میدونید در entity چنج دیتابیس داریم اما جای چنج تیبل خالیست، به نظر شما چرا؟ چرا نباید از مدل یک تیبل که schema یکسانی با یک تیبل دیگه داره استفاده کرد؟
up............
?no comment
برای جلوگیری از ساخت مدلهای متعدد که ساختارشون یکسان هست باید از ارس بری استفاده کنید. خوشبختانه EF ارس بری رو به خوبی پشتبانی میکنه. شما یک کلاس والد میسازید که شامل Propertyهای مشترک هست و برای مدلهای دیگه که تو چند Property با هم اختلاف دارن برای هر کدوم یک کلاس جدید میسازید که از کلاس والد ارس بری میکنند و ففت شامل Propertyهای مختس به خودشون هستند. حالا با این توزیح کلی بریم سراغ مورد شما.
اگه شما هم مسل تاپیکی که بهش اشاره کردین تغيير نام Table در زمان اجرا در linq، دارید اتلاعات رو آرشیو میکنید باید چندین جدول رو به یک Entity مشترک Map کنید. برای توزیحات بیشتر Inheritance in the Entity Framework رو بخونید. برای انجام ارس بری در EF ٣ رویکرد وجود داره: Table per Hierarchy، Table per Type و Table per Concrete Type که شما از Table per Concrete Type استفاده کنید.
EF Designer - Map an Entity to Multiple Tables (Entity Splitting)