PDA

View Full Version : سوال: کانکش استرینک با پسورد برای Entity Framework و اینا



ROSTAM2
دوشنبه 26 شهریور 1403, 22:27 عصر
سلام

من از Entity برای دیتابیسام اطتفاده کردم ولی لاکردار رمز رو توی فایل config قابل دسترس داره ....

1- چطور می شه از دست این connection string توی فایل config راحت شد. (چطور با کذنویسی باید کانکشن استرینگه رو درستش کرد؟ چرا که changeDatabase براش جواب نمیده)

ROSTAM2
دوشنبه 26 شهریور 1403, 23:39 عصر
ممنون از همه جوابمو از این مقاله و سورسش پیدا کردم و بهترین روشی بود که تا الآن پیدا کردم....

Changing Databases at Run-time using Entity Framework - CodeProject (https://www.codeproject.com/Tips/798392/Changing-Databases-at-Run-time-using-Entity-Framew?msg=6018553#xx6018553xx)

ROSTAM2
سه شنبه 27 شهریور 1403, 01:22 صبح
این هم توابعی که من ایجاد کزدم
این در صورتیه که در فایل APP.CONFIG پسورد رو تغییر داده باشیم تا کسی متوجه پسورد اصلی نشه....


Friend Function EntityConnectionString(Database As String, Password As String,
ParamArray MetadataResources() As String) As String
Dim connString As String = "Data Source=|DataDirectory|" + Database + ";Password=" + Password + ";Persist Security Info=True"
Dim esb As EntityConnectionStringBuilder = New EntityConnectionStringBuilder()
For I = 0 To MetadataResources.Length - 1
MetadataResources(I) = MetadataResources(I).Insert(0, "res://*/")
Next
Dim expr As String = Join(MetadataResources, "|")
esb.Metadata = expr
esb.Provider = "System.Data.SqlServerCe.3.5"
esb.ProviderConnectionString = connString
Return esb.ToString()
End Function
Friend Sub ChangeDataBase()
'name=KeyStoreEntities
Dim CS = EntityConnectionString("\Database\KeyStore.sdf",
"123456",
"Database.KeyStore.csdl",
"Database.KeyStore.ssdl",
"Database.KeyStore.msl")
KeyStoreData = New KeyStoreEntities(CS)
End Sub