Я бы постарался сделать это коротким ... Я не совсем использовал java (просто основы c знания), и при этом я не знаю класс resultSet, но я могу рассказать вам, как получить данные таблицы из MySQL в c# ... я бы объяснил использование NHIBERNATE в качестве основы выбора.
При соединении между базами данных и приложениями стандартом является использование подходящего ORM (Object Relational Mapper). Цель которого - связать классы (сущности) приложений с таблицами базы данных. у вас может быть таблица, представленная ниже: -
CREATE TABLE [dbo].[ShipmentRequest](
[Id] [int] IDENTITY(1,1) NOT NULL,
[Name] [nvarchar](max) NULL,
[FirstName] [nvarchar](max) NULL,
[LastName] [nvarchar](max) NULL,
)
эта таблица sql будет переведена в следующий класс
public class ShipmentRequest
{
public virtual int Id {get; set;}
public virtual string Name {get; set;}
public virtual string FirstName {get; set;}
public virtual string LastName {get; set;}
}
теперь мы разбираемся с некоторыми основами в ORM затем вы захотите решить, какой ORM лучше всего подключить c# к MySQL ... двумя наиболее распространенными ORM в c# являются Entity Framework и NHibernate ... эти две функции очень похожи на приведенное выше объяснение, вы бы создали классы с соответствующей конфигурацией, чтобы позволить генерировать базу данных и таблицы (или синхронизировать, если БД уже существует).
Было сказано, что я просто объясню один из ORM, и это будет NHIBERNATE, как указано ранее.
Для начала откройте визуальную студию (скачайте и установите, если у вас ее нет). создать простой проект или открыть существующий проект. щелкните по сборке / проекту, затем go к зависимостям / каркасу. Щелкните правой кнопкой мыши на нем и go, чтобы управлять пакетами nuget. если вам нужно знать, менеджер пакетов Nuget в c# является сторонним репозиторием фреймворков, в котором люди могут создавать стандартные библиотеки c#, которые можно загрузить из Visual Studio, менеджер пакетов Nuget обеспечивает хорошо организованное размещение сторонних библиотек, так как а также простая интеграция с c# проектами (чаще всего, в один клик). Вы загружаете NHiberate (найдите его и нажмите «Установить»).
Вы сопоставляете вышеуказанный класс с нужной вам таблицей следующим образом: -
publi c class ShipmentRequestMap: ClassMap
{
public ShipmentRequestMap()
{
Id(x => x.Id);
Map(x => x.Name);
Map(x => x.FirstName);
Map(x => x.LastName);
Table("ShipmentRequest");
}
}
Ваш файл конфигурации выглядит примерно так
using System.IO;
using System.Reflection;
using FluentNHibernate.Cfg;
using FluentNHibernate.Cfg.Db;
using NHibernate;
using NHibernate.Cfg;
using NHibernate.Dialect;
using NHibernate.Driver;
using NHibernate.Tool.hbm2ddl;
namespace YourApplication
{
public class NHibernateConfig
{
private const string connStr = "Server=.;Port=4005;Database=yourdatabaseDB;Uid=yourusername;Pwd=yourpassword;";
public static ISessionFactory CreateMySqlSessionFactory(){
var config = new Configuration();
config.DataBaseIntegration(x => {
x.Driver<MySqlDataDriver>();
x.ConnectionString = connStr;
x.Dialect<MySQL5Dialect>();
});
var sessionFactory = Fluently.Configure(config)
.Mappings(m => m.FluentMappings.AddFromAssembly(Assembly.GetExecutingAssembly())).ExposeConfiguration(cfg => new SchemaExport(cfg)
.Create(false, false)).BuildSessionFactory();
return sessionFactory;
}
}
}
База данных теперь подключена к приложению. остается только написать свой IRepository, BaseRepository и другие службы ...
ваш репозиторий будет выглядеть примерно так:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
namespace IRepository.Data {
public interface IRepository<T> {
void Create(T entity);
void Update(T entity);
void Delete(T entity);
void Copy(T source, T target);
void Flush();
T Get(int id);
T Get(Expression<Func<T, bool>> predicate);
IQueryable<T> Table { get; }
int Count(Expression<Func<T, bool>> predicate);
IEnumerable<T> Fetch(Expression<Func<T, bool>> predicate);
IEnumerable<T> Fetch(Expression<Func<T, bool>> predicate, Action<Orderable<T>> order);
IEnumerable<T> Fetch(Expression<Func<T, bool>> predicate, Action<Orderable<T>> order, int skip, int count);
}
}
Так вот как подключение базы данных к приложению в c# готово, вы также можете рассмотреть возможность использования структуры сущностей, если хотите. счастливого кодирования !!