Есть ли способ создать структуру или класс, заполнить его данными и дать дамп/прочитать его и из моих БД?sql и structs/class
ответ
Да, C# предлагает множество способов подключения к базам данных.
Если у вас есть C# 3.0, посмотрите на Linq To SQL, который должен дать вам то, что вы ищете.
Редактировать: Давайте думать об этом, есть ли (пол-современный) язык программирования, который не имеют такую функциональности в нем?
Это похоже на то, что вы более или менее нуждаетесь в базовом введении к подключению и обработке базы данных с C#. Вышеупомянутый плакат сказал, чтобы посмотреть в LINQ to SQL, но вы также можете изучить более базовую базовую структуру ADO.NET, которая поможет вам понять основы работы.
Кроме того, вы можете использовать этот сайт right here для нескольких учебных пособий по базе данных для C#.
Редактировать: Больше информации от C# Station, CodeProject и Codersource
Edit 2: Если вы заинтересованы в таких вещах, как Linq для SQL, как уже упоминалось выше, вот некоторые учебники из C# Corner и C-Sharp Online
Редактировать 3: Другие также предложили бы такие вещи, как ADO.NET Entity Framework. Я бы не стал предлагать это для новичков, которым все еще нужно понять основы работы с базой данных. Вот некоторая информация от MSDN Overview
Простой пример (Это вытягивается непосредственно из ссылки # Station C, приведенной выше)
Листинг 1. Использование SqlConnection
using System;
using System.Data;
using System.Data.SqlClient;
/// <summary>
/// Demonstrates how to work with SqlConnection objects
/// </summary>
class SqlConnectionDemo
{
static void Main()
{
// 1. Instantiate the connection
SqlConnection conn = new SqlConnection(
"Data Source=(local);Initial Catalog=Northwind;
Integrated Security=SSPI");
SqlDataReader rdr = null;
try
{
// 2. Open the connection
conn.Open();
// 3. Pass the connection to a command object
SqlCommand cmd =
new SqlCommand("select * from Customers", conn);
//
// 4. Use the connection
//
// get query results
rdr = cmd.ExecuteReader();
// print the CustomerID of each record
while (rdr.Read())
{
Console.WriteLine(rdr[0]);
}
}
finally
{
// close the reader
if (rdr != null)
{
rdr.Close();
}
// 5. Close the connection
if (conn != null)
{
conn.Close();
}
}
}
}
+1 Изучение этого, прежде чем прыгать на поезде ORM - хорошая идея. –
@SnOrfus: точно. Есть много вещей, которые могут помочь сделать вещи проще, но только если у вас есть базовое понимание того, что происходит под поверхностью. В противном случае вы просто собираетесь завязать себя узлами. – TheTXI
If вам нужна простая ORM, посмотрите на Activerecord, которая основана на NHibernate Существует также XPO от www.devexpress.com И еще один подход - DB4O (DB для объектов) www.db40.com
Я не знаю языка с поддержкой БД (кроме, возможно, PHP). Однако существует множество инфраструктур с такой возможностью. –