Sen olabilir Eğer diğerinden veritabanına erişebilir sürece, hatta sunucular arasında, bunu. O karşı bir SQL deyimi yazmak mümkündür Yani, eğer ServerA . Veri bankasının erişen ServerB . DatabaseB . şema . TableWhatever , o zaman LINQ aynı şeyi yapabilir.
Bunu yapmak için, elle .dbml dosyasını düzenlemek gerekir. , Sağ tıklayın seç: Kolayca böyle VS 2008 yapabilirsiniz Birlikte Aç ... ve seçmek XML Editor .
Bak Bağlantı dosyasının başında olmalıdır elemanı. Ne yapmak gerek (farklıysa ve sunucu adı) veritabanı o bağlantı dize tarafından işaret değil de tablolar için açık bir veritabanı adını sağlamaktır.
Bir açılış etiketi Tablo senin .dbml içinde eleman şuna benzer:
<Table Name="dbo.Customers" Member="Customers">
Ne yapmanız gereken herhangi bir tablo için vardır değil bağlantı dizesinin veritabanında, bunu değiştirmek ismi bunlardan biri gibi bir şey niteliğini:
<Table Name="SomeOtherDatabase.dbo.Customers" Member="Customers">
<Table Name="SomeOtherServer.SomeOtherDatabase.dbo.Customers" Member="Customers">
Eğer sorun yaşarsanız kesin olan diğer veritabanı (veya sunucu) orijinal veritabanı (veya sunucu) gerçekten erişilebilir olun. SQL Server Management Studio'da, böyle bir şey yapar özgün veritabanıyla çalışan küçük bir SQL deyimi yazmayı deneyin:
SELECT SomeColumn
FROM OtherServer.OtherDatabase.dbo.SomeTable
Eğer bu işe yaramazsa, aynı şifre ile her iki veritabanlarına erişimi olan bir kullanıcı veya giriş olduğundan emin olun. Bu, elbette, sizin .dbml bağlantı dizesinde kullanılanla aynı olmalıdır.