Hola espero anden bien.
Quisiera saber si alguien de foro a desarrollado algún sistema en el que tengas que darle mantenimiento a una bd usando el modelo code first de entity framework que consiste en crear las clases de cada tabla pero sin hacer uso del diseñador del entity data del vs, yo ya he usado entity pero haciendo uso del diseñador que trae el vs que te crea el modelo conceptual del a bd pero según me han dicho y leído esta forma no es muy eficiente.
Yo he usado el Entity Framework con una base de datos de MySQL y SQLServer y no nunca me ha dado problema de rendimiento, kizas dolor de cabeza por la perdida de referencias al actualizar el modelo, segun entiendo esos frameworks te crean una clase por cada tabla de tu base de datos y lo unico que hay en esa clases son los procedimientos y atributos de tu tabla, en java he usado un framework similar que se llama Hibernet y funciona igual, es bien sencillo de usar.
Por ejemplo en Hibernet por cada tabla me crea un archivo java como el siguiente
import java.util.HashSet;
import java.util.Set;
/**
* Tblcatalogo generated by hbm2java
*/
public class Tblcatalogo implements java.io.Serializable {
private Short idCatalogo;
private String categoria;
private Set<Tblarticulo> tblarticulos = new HashSet<Tblarticulo>(0);
public Tblcatalogo() {
}
public Tblcatalogo(String categoria) {
this.categoria = categoria;
}
public Tblcatalogo(String categoria, Set<Tblarticulo> tblarticulos) {
this.categoria = categoria;
this.tblarticulos = tblarticulos;
}
public Short getIdCatalogo() {
return this.idCatalogo;
}
public void setIdCatalogo(Short idCatalogo) {
this.idCatalogo = idCatalogo;
}
public String getCategoria() {
return this.categoria;
}
public void setCategoria(String categoria) {
this.categoria = categoria;
}
public Set<Tblarticulo> getTblarticulos() {
return this.tblarticulos;
}
public void setTblarticulos(Set<Tblarticulo> tblarticulos) {
this.tblarticulos = tblarticulos;
}
}
y un xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- Generated 05-22-2012 09:40:49 PM by Hibernate Tools 3.2.1.GA -->
<hibernate-mapping>
<class catalog="db" name="com.system.model.Tblcatalogo" table="tblcatalogo">
<id name="idCatalogo" type="java.lang.Short">
<column name="idCatalogo"/>
<generator class="identity"/>
</id>
<property name="categoria" type="string">
<column length="254" name="categoria" not-null="true" unique="true">
<comment>Nombre de la categoría.</comment>
</column>
</property>
<set inverse="true" name="tblarticulos">
<key>
<column name="idCatalogo" not-null="true">
<comment>Identificador de catálogo.</comment>
</column>
</key>
<one-to-many class="com.system.model.Tblarticulo"/>
</set>
</class>
</hibernate-mapping>
Si mal no recuerdo en el Entity Framework te hace algo similar, podes crear las clases y los xml por tu cuenta, pero no tendrán mucha diferencia de los que creas con el asistente

.
Quizas lo que te puede dar problema en Visual estudio, es que al hacer modificaciones en el diseñador que trae integrado si te dará mas de un dolor de cabeza, recuerdo que cuando hacia una modificación a la base de datos actualizar el modelo que usas en Entity framework era toda una odisea :S como todo lo manejan los asistentes a saber donde rotas estaban las referencias perdidas o las inconsistencias del modelo con mi base de datos y en java como tenes mas control de tu código, podes agregar o quitar algo sin problemas.