كيف أقوم بإعداد Poco الخاص بي مع 10 و Simplerepostory؟ أو أين هي الاتفاقية؟

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

سؤال

هل يوجد في مكان ما تفاصيل كيفية إعداد Poco الخاص بك عند استخدام SimplerePository مع خرفية 3؟ يبدو أنه يبدو أنه في الاتفاقية بشأن التكوين، لكن لا يمكنني العثور على مكان شرح هذه الاتفاقية.

http://www.subsonicproject.com/docs/conventions. يبدو أنه كان المقصود لمدة 2.0، وهو أيضا ملحوظ غير مكتمل. (BTW: أحب أن أساعد في إعادة تنظيم المستندات في أكثر من 2.0 و 3.0 حيث أن المستندات الحالية مربكة بعض الشيء على الإصدار الذي يشير إليه.)

على سبيل المثال، أود أن أعرف كيف سأذهب حول إعداد

علاقة واحدة إلى واحدة

المستخدم <=> الملف الشخصي

class User {
  Id
  ProfileId instead of Profile? or is Profile profile possible?
}

class Profile {
  Id
  UserId instead of User? or is User user possible?
}

علاقة واحدة إلى كثير

class User {
  Id
  IList<Post> Posts (?) or IList<int> PostIds (?) or is this implied somehow?  or is this just wrong?
}

class Post {
  Id
  UserId instead of User? or is User user possible?
}

الكثير للكثيرين

أنا أظن أنني سأحتاج إلى إعداد العديد من الطاولة العديدة؟

class User {
  IList<Blog> Blogs (?) or IList<int> BlogIds (?) or is this implied somehow?
}

class BlogsUsers {  // Do I have to create this class?
  UserId
  BlogId
}

class User {
  IList<User> Users (?) or IList<int> UserIds (?) or is this implied somehow?
}

في المثال المثال، لا يبدو أنه يتم تعيين هذه، لذلك أتساءل كيف ستستمر في القيام بمثال (مثال تخميني):

واحد لواحد

User.Profile

r.Single<Profile>(p=>p.User == userId);

الوالد على واحد إلى كثير

Post.User

id = r.Single<Post>(postId).UserId;
r.Single<User>(id); // which kind of stinks with two queries, JOIN?

الأطفال على واحد إلى كثير

User.Posts

r.Find<Post>(p=>p.UserId == userId)

أو كثير إلى كثير

User.Blogs

ids = r.Find<BlogsUsers>(bu=>bu.UserId == userId);
r.Find<Blog>(b=>b.BlogId == ids);  // again with the two queries?  :)

Blog.Users

ids = r.Find<BlogsUsers>(bu=>bu.BlogId == blogId);
r.Find<User>(u=>u.UserId == ids);  // again with the two queries?  :)

أود أن أفترض أنه يجب أن يكون هناك طريقة لعدم الحصول على استفسارتين ولهذه الخصائص ليتم بالفعل التلقائي بطريقة ما. تصدر الحقيقة رغم أنني فعلت سوى ساعة للعب مع كل شيء الليلة الماضية لذلك أنا خائف قليلا من روب الصراخ في وجهي. أنا اسف! : P.

إذا لم تكن هذه Autogen'd إذن، فأين إظهار وإجراءات المتجر لمدة 3.0؟ من فضلك أعطني رابط لأولئك أيضا أثناء وجودك في ذلك زميله.

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

المحلول

ربما يكون هذا أفضل مكان لك:http://subsonicproject.com/docs/using_simplereopitory.

العلاقات هي الإعداد في التعليمات البرمجية، بواسطتك، ونحن لا نحمل تلك الأمام إلى DB (حتى الآن - نأمل قريبا). من الناحية المثالية، يمكنك إعداد النموذج الخاص بك وأنت بحاجة إليه وعندما تكون جاهزا، تذهب وتصويب علاقاتك يدويا في DB. هذا للحد من الاحتكاك أثناء التطوير - سلامة البيانات ليست حقا ما يدعو للقلق عند بناء موقع.

ومع ذلك، أعرف أن الناس يريدون هذه الميزة - أنا فقط بحاجة إلى بناء ذلك.

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