איך להגדיר קונקשיין סטרינג בשימוש בEF Code first?

איך להגדיר קונקשיין סטרינג בשימוש בEF Code first?

אני כותב פרוייקט בasp.net mvc4 ומשתמש באנטיטי קוד פירסט.
אך אני רוצה שהוא ייצור את הדטהבייס במקום אחר (בשרת מרוחק כגון בazure או כל דבר אחר). הבעיה היא שאני לא מצליח להבין איך להגדיר זאת בweb.config.

אשמח לעזרה, תודה רבה!
 

nocgod

New member
ניסית לחפש בגוגל?

קוד:
<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
  <configSections> 
    <!-- For more information on Entity Framework configuration, visit [URL]http://go.microsoft.com/fwlink/?LinkID=237468[/URL] --> 
    <section name="entityFramework" 
       type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=4.3.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> 
  </configSections> 
</configuration>

קוד:
<connectionStrings> 
  <add name="BlogContext"  
        providerName="System.Data.SqlClient"  
        connectionString="Server=.\SQLEXPRESS;Database=Blogging;Integrated Security=True;"/> 
</connectionStrings>
https://msdn.microsoft.com/en-us/data/jj556606.aspx
 

nocgod

New member
כמובן שכשאתה פותח פרוייקט web חדש (לא Empty)

הוא יוסיף לך את כל הדברים האלה לבד, כולל סקציה של קונפיגורציות ל EF עצמו שלרוב אתה לא משנה שנראת ככה:
קוד:
<entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
      <parameters>
        <parameter value="mssqllocaldb" />
      </parameters>
    </defaultConnectionFactory>
    <providers>
      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
    </providers>
  </entityFramework>
לפי ההסבר באתר ששלחתי לך:
הconnectionFactory ישומש במקרה ולא הוגדר עבור ה context שלך connection string מפורש בsection של connectionStrings
וproviders מגדיר בעצם את ה data providers עבור הEF, כלומר מדובר ב adapters עבור ה EF כדי לגשת למקורות מידע - כאשר הבסיסי מביניהם (וברירת המחדל שמותקן) הוא כמובן מתאם עבור SQL Server.
 
תודה רבה!

אכן, הפתרון הוא פשוט להוסיף קונקשיין סטרינג בקובץ הקונפיג, ולתת לו את אותו השם שאני נותן בקוד במחלקה שמגדירה את ה DbSet, כלומר המחלקה שיורשת מdbContext. בבנאי שלה אני נותן לה סטרינג עם השם של הדטהבייס, ואת אותו השם אני נותן בקונפיג.
 
למעלה