I'm creating a system and I'm using EF with Linq. Model First.
So I create my Model (.edmx) and using it, I generated my database and my classes. like the Usuario (user in portugues. 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
}
}
}
}
PS: Please ignore the fact that the class name is record and I'm doing a select. 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?