SQL Server 2008 ile ASP.NET MVC uygulaması yazıyor ve yazıyorum. Ne yazık ki, bu veritabanına bağlayabileceğim tek yol, üretim ortamımda bir dsn veya ODBC yoluyla gerçekleşiyor. Geliştirme sırasında veritabanındaki verilere erişmek için bir Linq2SQL katmanı kullandım. Linq2SQL'i bir SQL İstemci bağlantısı yerine ODBC kullanmak için kullanmam için bir yol var mı?LINQ2SQL'i ODBC ile kullanabilir miyim?
cevap
LINQ to SQL tarafından oluşturulan kod, SQL sunucu bağlantılarına her yerde kodlanmış referanslara sahiptir, yani hayır. Ancak, DBLinq'u kullanabilirsiniz.
Evet, ODBC'yi SQL ile SQL'de kullanmanın bir yolu var, ancak bazı ekstra kod gerekli ve neredeyse zengin özellikli olacaktır. SELECT
ifadeleri için ORM alabileceğinizi biliyorum, ancak UPDATE
veya DELETE
ifadeleri için işe yarayıp yaramayacağından emin değilim.
Aşağıdaki kod parçacığında, ilk önce modelimi boş bir Linq2Sql .dbml dosyasında tanımladım (elimde ihtiyacım olan alanları içeren bir PurchaseOrder
nesnesi oluşturdum). Ama sonra bir ODBC bağlantısında geçirerek yeni bir veri bağlamı oluşturabildiğimi unutmayın. Son olarak, son bir numara var: Satınalma siparişlerimi almak için veri içeriğinin ExecuteQuery
yöntemini SELECT
bildirimi ile birlikte kullanmam gerekiyor. Eğer eşleme yerine doğrudan sunucu sorgulama olacağını olarak
using (var connection = new OdbcConnection("Driver={iSeries Access ODBC Driver};System=serverName;UID=yourUid;PWD=yourPwd"))
{
var purchaseOrderContext = new Models.PurchaseOrdersDataContext(connection);
var purchaseOrders = purchaseOrderContext.ExecuteQuery<Models.PurchaseOrder>("SELECT * FROM mySchema.myTable");
}
Darin, sen Peder tarafından önerilen çözüm kullanabilirsiniz iken, bu Linq amacı yenmek. Tom "sabit kodlanmış" hakkında haklıdır, ancak bir yol vardır, kendi arayüzünüzü oluşturabilir, kavramlar üzerinde harika bir açıklama yapabilir ve nasıl yapılacağını burada bulabilirsiniz: http://blogs.msdn.com/b/mattwar/archive/2008/11/18/linq-links.aspx
- 1. nHibernate'i monotouch ile kullanabilir miyim?
- 2. XESS ile LESS kullanabilir miyim?
- 3. BeginInvoke'u MulticastDelegate ile kullanabilir miyim?
- 4. JSP'yi Angular2 ile kullanabilir miyim?
- 5. Telefon hafızası ile php kullanabilir miyim?
- 6. Kendi alanımı c9.io ile kullanabilir miyim?
- 7. AlarmManager'ı LocalBroadcastManager ile android üzerinde kullanabilir miyim?
- 8. Evopdf ile pdf oluştururken etiket kullanabilir miyim?
- 9. CSS modüllerini LESS + yuvalama ile kullanabilir miyim?
- 10. Tensorboard'u Google Colab ile kullanabilir miyim?
- 11. jquery'de .delay() ile birlikte .animate() kullanabilir miyim?
- 12. Koleksiyon başlatıcılarını NameValueCollection ile kullanabilir miyim?
- 13. Hadoop'u AWS4-HMAC-SHA256 ile kullanabilir miyim?
- 14. CamelCase'i Laravel 4 eloquent ile kullanabilir miyim?
- 15. PEX'i Visual Studio 2012 ile kullanabilir miyim?
- 16. Android'de jmonkeyengine kullanabilir miyim?
- 17. Dizide update_all kullanabilir miyim?
- 18. GAE'de Spring kullanabilir miyim?
- 19. Üretim alanında paster kullanabilir miyim?
- 20. FieldInfo kullanmadan OpCodes.Ldsfld kullanabilir miyim?
- 21. IntPtr yerine SafeHandle kullanabilir miyim?
- 22. Gradle'da Maven eklentisini kullanabilir miyim?
- 23. Enum'i ConverterParameter olarak kullanabilir miyim?
- 24. Genel anahtar olarak kullanabilir miyim?
- 25. Farklı bir veritabanını kullanabilir miyim?
- 26. Java Uygulamasında JNI kullanabilir miyim?
- 27. Zxing'i iş amaçlı kullanabilir miyim?
- 28. Yönergeyi bağlantı etiketinde kullanabilir miyim?
- 29. Müzik Genomu Projesi'ni kullanabilir miyim?
- 30. Poco C++ ile MS SQL kullanarak ODBC