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şmenin bilgileri almasına veya değiştirmesine ve veritabanına erişmek için ADO.NET kullanmasına 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 özelliğinde Sql yapılandırılır ve parametreler koleksiyondan geçirilir Parameters .
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, öğesinin ConnectionString 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 olmadığında. |
| KomutTürü | Yürütülecek öğesinin DbCommand türü. |
| SQL | Yürütülecek SQL komutu. |
| Parametreler | SQL sorgusunun parametrelerinin koleksiyonu. |
| EtkilenenKayı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 özelliğinde Sql yapılandırılır ve parametreler koleksiyondan geçirilir Parameters .
Yürütüldükten sonraDbQueryScalar, skaler bağımsız değişkeninde Result out döndürülür (temel sınıfta TResulttanımlanan türündeAsyncCodeActivity<TResult>).
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ı sabit adı. Bu bağımsız değişken ayarlanırsa, öğesinin ConnectionString 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. |
| KomutTürü | Yürütülecek öğesinin 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 olmadığında. |
| SQL | Yürütülecek SQL komutu. |
| Parametreler | SQL sorgusunun parametrelerinin koleksiyonu. |
| Sonuç | Sorgu yürütüldükten sonra elde edilen Skaler. Bu bağımsız değişken türündedir TResult. |
Ö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 (, veya Func<TResult><DbDataReader, TResult>olabilir).ActivityFunc<TResult><DbDataReaderTResult> 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 özelliğinde Sql yapılandırılır ve parametreler koleksiyondan geçirilir Parameters .
SQL sorgusunun sonuçları kullanılarak DbDataReaderalınır. Etkinlik içinde DbDataReader yinelenir ve içindeki DbDataReader satırları bir örneğine TResulteş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 yürütme darbesinde yapılır. Bu nedenle, daha hızlıdır, ancak bu XAML'ye serileştirilemez. Son durumda harita birden çok darbede 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, öğesinin ConnectionString 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. |
| KomutTürü | Yürütülecek öğesinin 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 olmadığında. |
| SQL | Yürütülecek SQL komutu. |
| Parametreler | SQL sorgusunun parametrelerinin koleksiyonu. |
| Eşleştiricisi | Sorgu yürütülürken elde edilen içindeki bir kaydı alan ve koleksiyona eklenecek Func<TResult> türde < bir nesnenin örneğini döndüren eşleme işlevi (DbDataReaderTResult>, DataReaderTResult).ResultBu durumda, eşleme tek bir yürütme darbesinde yapılır, ancak tasarımcı kullanılarak bildirimli olarak yazılamaz. |
| MapperFunc | Sorgu yürütülürken elde edilen içindeki bir kaydı alan ve koleksiyona eklenecek ActivityFunc<TResult> türde < bir nesnenin örneğini döndüren eşleme işlevi (DbDataReaderTResult>, DataReaderTResult).ResultBu durumda eşleme, yürütmenin birden çok darbesinde 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
döndüren bir DataSetsorgu yürütür. Bu sınıf, çalışmasını zaman uyumsuz olarak gerçekleştirir. kaynaklarından 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 özelliğinde Sql yapılandırılır ve parametreler koleksiyondan geçirilir Parameters .
DbQueryDataSet yürütüldükten DataSet sonra bağımsız değişkeninde Result out döndürülür (TResulttürü, temel sınıfında AsyncCodeActivity<TResult>tanımlanır).
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, öğesinin ConnectionString 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 olmadığında. |
| KomutTürü | Yürütülecek öğesinin DbCommand türü. |
| SQL | Yürütülecek SQL komutu. |
| Parametreler | SQL sorgusunun parametrelerinin koleksiyonu. |
| Sonuç | DataSet sorgu yürütüldükten sonra 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ı sabit adını ve bağlantı dizesi 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 örneği yerel makinenizde SqlExpress örneğine yüklemeyi dener. Başka bir SQL server örneğine yüklemek istiyorsanız, yeni örnek adıyla Setup.cmd düzenleyin.
Örnek ç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