Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Veritabanı erişim etkinlikleri, bir iş akışı içindeki bir veritabanına erişmenizi sağlar. Bu etkinlikler, veritabanlarına erişerek bilgileri almanıza veya değiştirmenize ve ADO.NET kullanarak veritabanına erişmenize olanak sağlar.
Veritabanı etkinlikleri
Aşağıdaki bölümlerde DbActivities örneğine dahil edilen etkinliklerin listesi ayrıntılı olarak verilmiştir.
DbUpdate
Veritabanında değişiklik üreten bir SQL sorgusu yürütür (ekleme, güncelleştirme, silme ve diğer değişiklikler).
Bu sınıf, çalışmasını zaman uyumsuz olarak gerçekleştirir (öğesinden AsyncCodeActivity türetilir ve zaman uyumsuz özelliklerini kullanır).
Bağlantı bilgileri, sağlayıcı sabit adı () ve bağlantı dizesi (ProviderNameConnectionString) ayarlanarak veya yalnızca uygulama yapılandırma dosyasından bir bağlantı dizesi yapılandırma adı (ConfigFileSectionName) kullanılarak yapılandırılabilir.
Önemli
Microsoft, kullanılabilir en güvenli kimlik doğrulama akışını kullanmanızı önerir. Azure SQL'e bağlanıyorsanız önerilen kimlik doğrulama yöntemi Azure kaynakları için Yönetilen Kimlikler'dir.
Yürütülecek sorgu, Sql özelliğinde yapılandırılır ve parametreler Parameters koleksiyonu üzerinden iletilir.
Yürütüldükten sonra DbUpdate , özelliğinde etkilenen kayıtların AffectedRecords sayısı döndürülür.
Public class DbUpdate: AsyncCodeActivity
{
[RequiredArgument]
[OverloadGroup("ConnectionString")]
[DefaultValue(null)]
public InArgument<string> ProviderName { get; set; }
[RequiredArgument]
[OverloadGroup("ConnectionString")]
[DependsOn("ProviderName")]
[DefaultValue(null)]
public InArgument<string> ConnectionString { get; set; }
[RequiredArgument]
[OverloadGroup("ConfigFileSectionName")]
[DefaultValue(null)]
public InArgument<string> ConfigName { get; set; }
[DefaultValue(null)]
public CommandType CommandType { get; set; }
[RequiredArgument]
public InArgument<string> Sql { get; set; }
[DependsOn("Sql")]
[DefaultValue(null)]
public IDictionary<string, Argument> Parameters { get; }
[DependsOn("Parameters")]
public OutArgument<int> AffectedRecords { get; set; }
}
| Bağımsız değişken | Açıklama |
|---|---|
| SağlayıcıAdı | ADO.NET sağlayıcı sabit adı. Bu bağımsız değişken ayarlanırsa, ConnectionString öğesinin de ayarlanması gerekir. |
| BağlantıDizesi | Veritabanına bağlanmak için bağlantı dizesi. Bu bağımsız değişken ayarlandıysa, o zaman ProviderName da ayarlanmalıdır. |
| AyarAdı | Bağlantı bilgilerinin depolandığı yapılandırma dosyası bölümünün adı. Bu bağımsız değişken ayarlandığında ProviderName ve ConnectionString gerekli değildir. |
| KomutTürü | Yürütülecek DbCommand'nin türü. |
| SQL | Yürütülecek SQL komutu. |
| Parametreler | SQL sorgusunun parametrelerinin koleksiyonu. |
| Etkilenen Kayıtlar | Son işlemden etkilenen kayıt sayısı. |
Önemli
Microsoft, kullanılabilir en güvenli kimlik doğrulama akışını kullanmanızı önerir. Azure SQL'e bağlanıyorsanız önerilen kimlik doğrulama yöntemi Azure kaynakları için Yönetilen Kimlikler'dir.
DbQueryScalar fonksiyonu
Veritabanından tek bir değer alan bir sorgu yürütür.
Bu sınıf, çalışmasını zaman uyumsuz olarak gerçekleştirir (öğesinden AsyncCodeActivity<TResult> türetilir ve zaman uyumsuz özelliklerini kullanır).
Bağlantı bilgileri, sağlayıcı sabit adı () ve bağlantı dizesi (ProviderNameConnectionString) ayarlanarak veya yalnızca uygulama yapılandırma dosyasından bir bağlantı dizesi yapılandırma adı (ConfigFileSectionName) kullanılarak yapılandırılabilir.
Önemli
Microsoft, kullanılabilir en güvenli kimlik doğrulama akışını kullanmanızı önerir. Azure SQL'e bağlanıyorsanız önerilen kimlik doğrulama yöntemi Azure kaynakları için Yönetilen Kimlikler'dir.
Yürütülecek sorgu Sql özelliğinde yapılandırılır ve parametreler Parameters koleksiyonundan geçirilir.
Yürütüldükten sonra DbQueryScalar, skaler Result out argümanında döndürülür (temel sınıftaki AsyncCodeActivity<TResult> tanımlanan TResult türünde).
public class DbQueryScalar<TResult> : AsyncCodeActivity<TResult>
{
// public arguments
[RequiredArgument]
[OverloadGroup("ConnectionString")]
[DefaultValue(null)]
public InArgument<string> ProviderName { get; set; }
[RequiredArgument]
[OverloadGroup("ConnectionString")]
[DependsOn("ProviderName")]
[DefaultValue(null)]
public InArgument<string> ConnectionString { get; set; }
[RequiredArgument]
[OverloadGroup("ConfigFileSectionName")]
[DefaultValue(null)]
public InArgument<string> ConfigName { get; set; }
[DefaultValue(null)]
public CommandType CommandType { get; set; }
[RequiredArgument]
public InArgument<string> Sql { get; set; }
[DependsOn("Sql")]
[DefaultValue(null)]
public IDictionary<string, Argument> Parameters { get; }
}
| Bağımsız değişken | Açıklama |
|---|---|
| SağlayıcıAdı | ADO.NET sağlayıcı değişmez adı. Bu bağımsız değişken ayarlanırsa, ConnectionString de ayarlanmalıdır. |
| BağlantıDizesi | Veritabanına bağlanmak için bağlantı dizesi. Bu bağımsız değişken ayarlandıysa, o zaman ProviderName da ayarlanmalıdır. |
| KomutTürü | Yürütülecek nesnenin DbCommand türü. |
| AyarAdı | Bağlantı bilgilerinin depolandığı yapılandırma dosyası bölümünün adı. Bu bağımsız değişken ayarlandığında ProviderName ve ConnectionString gerekli değildir. |
| SQL | Yürütülecek SQL komutu. |
| Parametreler | SQL sorgusunun parametrelerinin koleksiyonu. |
| Sonuç | Sorgu yürütüldükten sonra elde edilen skaler değer. Bu bağımsız değişkenin türü TResult'dir. |
Önemli
Microsoft, kullanılabilir en güvenli kimlik doğrulama akışını kullanmanızı önerir. Azure SQL'e bağlanıyorsanız önerilen kimlik doğrulama yöntemi Azure kaynakları için Yönetilen Kimlikler'dir.
DbQuery
Nesnelerin listesini alan bir sorgu yürütür. Sorgu yürütüldükten sonra bir eşleme işlevi yürütülür (bu Func<TResult><DbDataReader, TResult> veya ActivityFunc<TResult><DbDataReader, TResult> olabilir). Bu eşleme işlevi içindeki DbDataReader bir kaydı alır ve döndürülecek nesneyle eşler.
Bağlantı bilgileri, sağlayıcı sabit adı () ve bağlantı dizesi (ProviderNameConnectionString) ayarlanarak veya yalnızca uygulama yapılandırma dosyasından bir bağlantı dizesi yapılandırma adı (ConfigFileSectionName) kullanılarak yapılandırılabilir.
Önemli
Microsoft, kullanılabilir en güvenli kimlik doğrulama akışını kullanmanızı önerir. Azure SQL'e bağlanıyorsanız önerilen kimlik doğrulama yöntemi Azure kaynakları için Yönetilen Kimlikler'dir.
Yürütülecek sorgu, Sql özelliğinde yapılandırılır ve parametreler Parameters koleksiyonundan geçirilir.
SQL sorgusunun sonuçları bir DbDataReader kullanılarak alınır. Etkinlik, DbDataReader üzerinden yinelenir ve DbDataReader içindeki satırları bir TResult örneğine eşler. kullanıcısının DbQuery eşleme kodunu sağlaması gerekir ve bu iki yolla yapılabilir: , Func<TResult><DbDataReaderTResult> veyaActivityFunc<TResult><DbDataReader kullanarak . TResult> İlk durumda, harita tek bir işlem döngüsünde yapılır. Bu nedenle, daha hızlıdır, ancak bu XAML'ye serileştirilemez. Son durumda, haritalama birden fazla darbeyle gerçekleştirilir. Bu nedenle, daha yavaş olabilir, ancak XAML'ye seri hale getirilebilir ve bildirim temelli olarak yazılabilir (mevcut tüm etkinlikler eşlemeye katılabilir).
public class DbQuery<TResult> : AsyncCodeActivity<IList<TResult>> where TResult : class
{
// public arguments
[RequiredArgument]
[OverloadGroup("ConnectionString")]
[DefaultValue(null)]
public InArgument<string> ProviderName { get; set; }
[RequiredArgument]
[OverloadGroup("ConnectionString")]
[DependsOn("ProviderName")]
[DefaultValue(null)]
public InArgument<string> ConnectionString { get; set; }
[RequiredArgument]
[OverloadGroup("ConfigFileSectionName")]
[DefaultValue(null)]
public InArgument<string> ConfigName { get; set; }
[DefaultValue(null)]
public CommandType CommandType { get; set; }
[RequiredArgument]
public InArgument<string> Sql { get; set; }
[DependsOn("Sql")]
[DefaultValue(null)]
public IDictionary<string, Argument> Parameters { get; }
[OverloadGroup("DirectMapping")]
[DefaultValue(null)]
public Func<DbDataReader, TResult> Mapper { get; set; }
[OverloadGroup("MultiplePulseMapping")]
[DefaultValue(null)]
public ActivityFunc<DbDataReader, TResult> MapperFunc { get; set; }
}
| Bağımsız değişken | Açıklama |
|---|---|
| SağlayıcıAdı | ADO.NET sağlayıcı sabit adı. Bu bağımsız değişken ayarlanırsa, ConnectionString da mutlaka ayarlanmalıdır. |
| BağlantıDizesi | Veritabanına bağlanmak için bağlantı dizesi. Bu bağımsız değişken ayarlandıysa, o zaman ProviderName da ayarlanmalıdır. |
| KomutTürü | Yürütülecek nesnenin DbCommand türü. |
| AyarAdı | Bağlantı bilgilerinin depolandığı yapılandırma dosyası bölümünün adı. Bu bağımsız değişken ayarlandığında ProviderName ve ConnectionString gerekli değildir. |
| SQL | Yürütülecek SQL komutu. |
| Parametreler | SQL sorgusunun parametrelerinin koleksiyonu. |
| Eşleyici | Sorgu çalıştırılarak elde edilen DataReader içindeki bir kaydı alan ve Result koleksiyonuna eklenecek TResult türünde bir nesne örneği döndüren eşleme işlevi (Func<TResult><DbDataReader, TResult>).Bu durumda, haritalama tek bir yürütme darbesinde yapılır, ancak tasarımcı kullanılarak bildirimli olarak oluşturulamaz. |
| MapperFunc | Sorgu yürütülmesi sonucunda elde edilen DataReader içindeki kaydı alarak, Result koleksiyonuna eklenecek ActivityFunc<TResult> tipi bir nesne örneği döndüren eşleştirme işlevi (DbDataReaderTResult>, DataReaderTResult).Bu durumda eşleme, çalışmanın birden çok aşamasında gerçekleştirilir. Bu işlev XAML'ye seri hale getirilebilir ve bildirim temelli olarak yazılabilir (mevcut tüm etkinlikler eşlemeye katılabilir). |
| Sonuç | Sorgunun yürütülmesi ve içindeki her kayıt DataReaderiçin eşleme işlevinin yürütülmesi sonucu elde edilen nesnelerin listesi. |
Önemli
Microsoft, kullanılabilir en güvenli kimlik doğrulama akışını kullanmanızı önerir. Azure SQL'e bağlanıyorsanız önerilen kimlik doğrulama yöntemi Azure kaynakları için Yönetilen Kimlikler'dir.
DbQueryDataSet
Bir DataSet döndüren sorguyu yürütür. Bu sınıf, çalışmasını zaman uyumsuz olarak gerçekleştirir.
AsyncCodeActivity
<
TResult
>'ten türetilir ve asenkron özelliklerini kullanır.
Bağlantı bilgileri, sağlayıcı sabit adı () ve bağlantı dizesi (ProviderNameConnectionString) ayarlanarak veya yalnızca uygulama yapılandırma dosyasından bir bağlantı dizesi yapılandırma adı (ConfigFileSectionName) kullanılarak yapılandırılabilir.
Önemli
Microsoft, kullanılabilir en güvenli kimlik doğrulama akışını kullanmanızı önerir. Azure SQL'e bağlanıyorsanız önerilen kimlik doğrulama yöntemi Azure kaynakları için Yönetilen Kimlikler'dir.
Yürütülecek sorgu, Sql özelliğinde yapılandırılır ve parametreler Parameters koleksiyonu aracılığıyla iletilir.
DbQueryDataSet yürütüldükten sonra DataSet, belirtilen bağımsız değişken Result out'de döndürülür (bu, temel sınıfta tanımlanan TResult türüdür AsyncCodeActivity<TResult>).
public class DbQueryDataSet : AsyncCodeActivity<DataSet>
{
// public arguments
[RequiredArgument]
[OverloadGroup("ConnectionString")]
[DefaultValue(null)]
public InArgument<string> ProviderName { get; set; }
[RequiredArgument]
[OverloadGroup("ConnectionString")]
[DependsOn("ProviderName")]
[DefaultValue(null)]
public InArgument<string> ConnectionString { get; set; }
[RequiredArgument]
[OverloadGroup("ConfigFileSectionName")]
[DefaultValue(null)]
public InArgument<string> ConfigName { get; set; }
[DefaultValue(null)]
public CommandType CommandType { get; set; }
[RequiredArgument]
public InArgument<string> Sql { get; set; }
[DependsOn("Sql")]
[DefaultValue(null)]
public IDictionary<string, Argument> Parameters { get; }
}
| Bağımsız değişken | Açıklama |
|---|---|
| SağlayıcıAdı | ADO.NET sağlayıcı sabit adı. Bu bağımsız değişken ayarlanırsa, ConnectionString'nin de ayarlanması gerekir. |
| BağlantıDizesi | Veritabanına bağlanmak için bağlantı dizesi. Bu bağımsız değişken ayarlandıysa, o zaman ProviderName da ayarlanmalıdır. |
| AyarAdı | Bağlantı bilgilerinin depolandığı yapılandırma dosyası bölümünün adı. Bu bağımsız değişken ayarlandığında ProviderName ve ConnectionString gerekli değildir. |
| KomutTürü | Yürütülecek öğesinin DbCommand türü. |
| SQL | Yürütülecek SQL komutu. |
| Parametreler | SQL sorgusunun parametrelerinin koleksiyonu. |
| Sonuç | Sorgu yürütüldükten sonra DataSet elde edilir. |
Önemli
Microsoft, kullanılabilir en güvenli kimlik doğrulama akışını kullanmanızı önerir. Azure SQL'e bağlanıyorsanız önerilen kimlik doğrulama yöntemi Azure kaynakları için Yönetilen Kimlikler'dir.
Bağlantı bilgilerini yapılandırma
Tüm DbActivities aynı yapılandırma parametrelerini paylaşır. Bunlar iki şekilde yapılandırılabilir:
ConnectionString + InvariantName: ADO.NET sağlayıcısının sabit adını ve bağlantı dizesini ayarlayın.Activity dbSelectCount = new DbQueryScalar<DateTime>() { ProviderName = "System.Data.SqlClient", ConnectionString = @"Data Source=.\SQLExpress; Initial Catalog=DbActivitiesSample; Integrated Security=True", Sql = "SELECT GetDate()" };ConfigName: Bağlantı bilgilerini içeren yapılandırma bölümünün adını ayarlayın.<connectionStrings> <add name="DbActivitiesSample" providerName="System.Data.SqlClient" connectionString="Data Source=.\SQLExpress;Initial Catalog=DbActivitiesSample;Integrated Security=true"/> </connectionStrings>Etkinlikte:
Activity dbSelectCount = new DbQueryScalar<int>() { ConfigName = "DbActivitiesSample", Sql = "SELECT COUNT(*) FROM Roles" };
Önemli
Microsoft, kullanılabilir en güvenli kimlik doğrulama akışını kullanmanızı önerir. Azure SQL'e bağlanıyorsanız önerilen kimlik doğrulama yöntemi Azure kaynakları için Yönetilen Kimlikler'dir.
Bu örneği çalıştırın
Kurulum yönergeleri
Bu örnek bir veritabanı kullanır. Örnekle birlikte bir kurulum ve yükleme betiği (Setup.cmd) sağlanır. Bu dosyayı komut istemini kullanarak yürütmeniz gerekir.
Setup.cmd betiği, aşağıdakileri yapan SQL komutlarını içeren CreateDb.sql betik dosyasını çağırır:
- DbActivitiesSample adlı bir veritabanı oluşturur.
- Roller tablosunu oluşturur.
- Çalışanlar tablosunu oluşturur.
- Roller tablosuna üç kayıt ekler.
- Çalışanlar tablosuna on iki kayıt ekler.
Setup.cmd çalıştırmak için
Komut istemi açın.
DbActivities örnek klasörüne gidin.
"setup.cmd" yazın ve Enter tuşuna basın.
Not
Setup.cmd yerel makinenizdeki SqlExpress örneğine örneği yüklemeye çalışır. Başka bir SQL server örneğine yüklemek istiyorsanız, yeni örnek adıyla Setup.cmd düzenleyin.
Örneği çalıştırmak için
- çözümünü Visual Studio’da açın.
- Çözümü derlemek için Ctrl+Shift+B tuşlarına basın.
- Örneği hata ayıklamadan çalıştırmak için Ctrl+F5 tuşlarına basın.
Örnek veritabanını kaldırmak için bir komut isteminde örnek klasörden Cleanup.cmd çalıştırın.
Önemli
Örnekler makinenize zaten yüklenmiş olabilir. Devam etmeden önce aşağıdaki (varsayılan) dizini denetleyin.
<InstallDrive>:\WF_WCF_Samples
Bu dizin yoksa, tüm Windows Communication Foundation (WCF) ve WF örneklerini indirmek için .NET Framework 4 için Windows Communication Foundation (WCF) ve Windows Workflow Foundation (WF) Örnekleri'ne gidin. Bu örnek aşağıdaki dizinde bulunur.
<InstallDrive>:\WF_WCF_Samples\WF\Scenario\ActivityLibrary\DbActivities