Saya ingin menambahkan beberapa baris ke database menggunakan Linq ke SQL, tetapi saya ingin membuat "pemeriksaan khusus" sebelum menambahkan baris untuk mengetahui apakah saya harus menambahkan, mengganti, atau mengabaikan baris incomming. Saya ingin menjaga trafik antara klien dan server DB serendah mungkin dan meminimalkan jumlah kueri.
Untuk melakukan ini, saya ingin mengambil informasi sesedikit yang diperlukan untuk validasi, dan hanya sekali pada awal proses.
Saya berpikir untuk melakukan sesuatu seperti ini, tetapi jelas, itu tidak berhasil. Adakah yang punya ide?
Dictionary<int, DateTime> existingItems =
(from ObjType ot in TableObj
select (new KeyValuePair<int, DateTime>(ot.Key, ot.TimeStamp))
)
Apa yang ingin saya miliki pada akhirnya adalah Kamus, tanpa harus mengunduh seluruh objek ObjectType dari TableObject.
Saya juga mempertimbangkan kode berikut, tetapi saya berusaha menemukan cara yang tepat:
List<int> keys = (from ObjType ot in TableObj orderby ot.Key select ot.Key).ToList<int>();
List<DateTime> values = (from ObjType ot in TableObj orderby ot.Key select ot.Value).ToList<int>();
Dictionary<int, DateTime> existingItems = new Dictionary<int, DateTime>(keys.Count);
for (int i = 0; i < keys.Count; i++)
{
existingItems.Add(keys[i], values[i]);
}
sumber
var servers = list.Select( s => new { s.ProjectName, Url = "tcp://" + s.BuildMachineName + ":" + s.PortNumber + "/CruiseManager.rem" } ).ToDictionary( s => s.ProjectName, s.Url );
ini membuat kamus dikunci dengan nama proyek pasangan nama proyek / url..Select( t => new { t.Key, t.TimeStamp } )
ungkapan itu perlu?.Select
menyebabkan SQL yang dihasilkan hanya memilih Key dan TimeStamp, daripada memilih setiap kolom.Select
jika Anda melakukan Linq to Object (bukan Linq to SQL)Melihat contoh Anda, saya pikir inilah yang Anda inginkan:
sumber
Coba yang berikut ini
Atau versi versi tipe sepenuhnya matang
sumber
Gunakan namespace
Buat instance dari
DataContext
KelasMenggunakan
Untuk mengambil nilai, gunakan namespace
sumber