I'm creating a system and I'm using EF with Linq. I create my Model (.edmx) and using it, I generated my database and my classes. Like the Usuario (user in Portuguese going to keep the names in Portuguese to avoid some misleading).
namespace SistemaBox.Model
{
public partial class Usuario
{
public int Codigo { get; set; }
public string Nome { get; set; }
public string Sobrenome { get; set; }
public string Senha { get; set; }
public DateTime DataCriacao { get; set; }
public DateTime DataUltimoLogin { get; set; }
public virtual PermissaoGrupo CodigoPermissaoGrupo { get; set; }
}
}
After this, I create my controller class:
namespace SistemaBox.Controller
{
[Serializable]
public class ZUsuario : Usuario
{
String connString = ConfigurationManager.ConnectionStrings["ConnectionString"].ToString();
/// <summary>
/// Cadastro e edição
/// </summary>
public void Cadastro()
{
if (Codigo != null && Codigo > 0)
{
// Cadastro
using (DataContext db = new DataContext(connString))
{
Table<Usuario> Usuarios = db.GetTable<Usuario>();
var query =
from usr in Usuarios
where usr.Nome == "Test"
select usr;
foreach (var usr in query)
Console.WriteLine("id = {0}, City = {1}", usr.Codigo, usr.Nome);
}
}
else
{
// Edição
}
}
}
}
Please ignore the fact that the class name is record and I'm doing a select. It is just for tests.
My question is about the controller. Is the right way to declare the connection String
as global:
String connString = ConfigurationManager.ConnectionStrings["ConnectionString"].ToString();
and use the using
like I'm doing?