مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

mahdy.r

عضویت از 1395/07/05

گرفتن table ها از ObjecContext با Entity

  • چهارشنبه 10 مرداد 1397
  • 12:25
تشکر میکنم
با سلام و خسته نباشید 
چطوری میتونم از کد زیر Table هام رو بگیرو


private System.Data.Objects.ObjectContext oc;=new ObjectContext(connection)


;


پاسخ های این پرسش

تعداد پاسخ ها : 7 پاسخ
کاربر سایت

mahdy.r

عضویت از 1395/07/05

  • چهارشنبه 10 مرداد 1397
  • 13:19

اصلا ممکن هست؟؟ چطوری میشه با Connection String که دستب برای Entity بیلد کردی توی یک متد..میشه Context ساخت

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • چهارشنبه 10 مرداد 1397
  • 13:22

من اطلا منظور شما رو متوجه نشدم 

کاربر سایت

mahdy.r

عضویت از 1395/07/05

  • چهارشنبه 10 مرداد 1397
  • 13:25

بنده

public static string BuildEntityConnection(string connectionString, string MetaData)
        {
            var entityConnection = new EntityConnectionStringBuilder
            {
                Provider = "System.Data.SqlClient",
                ProviderConnectionString = connectionString,
                Metadata = MetaData
            };
            return entityConnection.ToString();
        }

از اینجا به بد چطوری جدولم رو بخونم...connection رو که ساختم

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • چهارشنبه 10 مرداد 1397
  • 13:39

اصلا چرا اینکار رو کردید ؟ 

چرا StringBulder ؟ 

چرا از خود provider نساختید ؟ 

کاربر سایت

mahdy.r

عضویت از 1395/07/05

  • چهارشنبه 10 مرداد 1397
  • 13:48
برای اینکه دارم Runtime کانکشن هارو میسازم و یکسری filter های امنیتی هم باید رب بشه...برای همین نمیتونم مستقیم کار کنم...شما روشی دارید بهم بگید
کاربر سایت

mahdy.r

عضویت از 1395/07/05

  • چهارشنبه 10 مرداد 1397
  • 14:22

An exception of type 'System.Data.MetadataException' occurred in System.Data.Entity.dll but was not handled in user code

Additional information: Unable to load the specified metadata resource.

مهندس ایت اررور چیه؟

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • چهارشنبه 10 مرداد 1397
  • 16:41
public static class ConnectionTools
{
    // all params are optional
    public static void ChangeDatabase(
        this DbContext source,
        string initialCatalog = "",
        string dataSource = "",
        string userId = "",
        string password = "",
        bool integratedSecuity = true,
        string configConnectionStringName = "") 
        /* this would be used if the
        *  connectionString name varied from 
        *  the base EF class name */
    {
        try
        {
            // use the const name if it's not null, otherwise
            // using the convention of connection string = EF contextname
            // grab the type name and we're done
            var configNameEf = string.IsNullOrEmpty(configConnectionStringName)
                ? source.GetType().Name 
                : configConnectionStringName;

            // add a reference to System.Configuration
            var entityCnxStringBuilder = new EntityConnectionStringBuilder
                (System.Configuration.ConfigurationManager
                    .ConnectionStrings[configNameEf].ConnectionString);

            // init the sqlbuilder with the full EF connectionstring cargo
            var sqlCnxStringBuilder = new SqlConnectionStringBuilder
                (entityCnxStringBuilder.ProviderConnectionString);

            // only populate parameters with values if added
            if (!string.IsNullOrEmpty(initialCatalog))
                sqlCnxStringBuilder.InitialCatalog = initialCatalog;
            if (!string.IsNullOrEmpty(dataSource))
                sqlCnxStringBuilder.DataSource = dataSource;
            if (!string.IsNullOrEmpty(userId))
                sqlCnxStringBuilder.UserID = userId;
            if (!string.IsNullOrEmpty(password))
                sqlCnxStringBuilder.Password = password;

            // set the integrated security status
            sqlCnxStringBuilder.IntegratedSecurity = integratedSecuity;

            // now flip the properties that were changed
            source.Database.Connection.ConnectionString 
                = sqlCnxStringBuilder.ConnectionString;
        }
        catch (Exception ex)
        {
            // set log item if required
        }
    }
}

// assumes a connectionString name in .config of MyDbEntities
var selectedDb = new MyDbEntities();
// so only reference the changed properties
// using the object parameters by name
selectedDb.ChangeDatabase
    (
        initialCatalog: "name-of-another-initialcatalog",
        userId: "jackthelady",
        password: "nomoresecrets",
        dataSource: @".\sqlexpress" // could be ip address 120.273.435.167 etc
    );

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)