Depois de criado o projeto Windows Forms Application, e gerado o modelo de dados a partir da base de dados, vamos ver como podemos
aceder à base de dados através do modelo, usando um pequeno exemplo
ilustrativo.
No form Form1
criado automaticamente ao criar o projecto
Windows Forms Application, vamos criar uma comboBox, arrastando a partir da toolbox.
namespace ejemploEntityFramework
{
public partial class Form1 : Form
{
carRentEntities dbContext;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
dbContext = new carRentEntities();
viaturasBox1.DataSource = dbContext.Viaturas;
viaturasBox1.DisplayMember = "matricula";
viaturasBox1.ValueMember = "Id";
}
... ... ... ... ... ...
Vejamos como isso é feito em mais detalhe:
- A linha
carRentEntities dbContext;
declara a variável dbContext do tipo carRentEntities, que corresponde ao modelo de dados criado.
- A linha
dbContext = new carRentEntities();
cria o objecto com o modelo de dados, responsável por fazer o mapeamento com a base de dados, e associa-o à variável dbContext.
- A linha
viaturasBox1.DataSource = dbContext.Viaturas;
associa Viaturas, no contexto criado anteriormente, à propriedade DataSource da comboBox, indicando que é daí que devem ser lidos os dados para a comboBox.
- As linhas
viaturasBox1.DisplayMember = "matricula";
viaturasBox1.ValueMember = "Id";
identificam os atributos de Viatura que devem ser mostrados na comboBox (propriedade DisplayMember) e devolvido como propriedade selectedValue da comboBox quando seleccionada uma Viatura (ValueMember).
Este excerto de código lê todas as linhas da tabela Viatura e preenche a comboBox.
Se, por exemplo, pretendesse-mos filtrar os dados por um qualquer critério poderemos usar LiNQ para o fazer, antes de associarmos o resultado à comboBox.
Por exemplo, a linha
viaturasBox1.DataSource = dbContext.Viaturas;
poderia ser substituida por:
IQueryable<Viatura> viaturasQuery = from v in dbContext.Viaturas
where v.marca.Equals("SEAT")
select v;
listaViaturas = viaturasQuery.ToList<Viatura>();
viaturasBox1.DataSource = listaViaturas;
Neste caso, a comboBox seria preenchida apenas com as viaturas cuja marca fosse "SEAT".
Num próximo artigo iremos ver como actualizar a base de dados usando o modelo criado com o Entity Framework.
Outros artigos relacionados:
- ADO.Net Entity Framework
- Começar a usar o .Net Entity Framework - 1
Sem comentários:
Enviar um comentário