使用带有sqlite的c#实体框架7,如何查看表是否存在以及是否创建表?也许基于上下文中的dbset?没有现有数据库的迁移或任何东西。应用程序只是创建数据库,而不是那里,我也想创建表。
;;;==============================================================
;;; Sistema Experto de Triaje
;;;
;;; CLIPS Version 6.3 Example
;;;==============================================================
;;*************************
;;*DEFINICION DE FUNCIONES*
;;*************************
(deffunction preguntas (?pregunta $?valor)
(printout t ?pregunta)
(bind ?respuesta (read))
(if (lexemep ?respuesta)
then (bind ?respuesta (lowcase ?respuesta)))
(while (not (member ?respuesta ?valor)) do
(printout t ?pregunta)
(bind ?respuesta (read))
(if (lexemep ?respuesta)
then (bind ?respuesta (lowcase ?respuesta))))
?respuesta)
(deffunction si-o-no-p (?pregunta)
(bind ?responde (preguntas ?pregunta si no s n))
(if (or (eq ?responde si) (eq ?responde s))
then si
else no))
;;;********************
;;;*REGLAS DE CONSULTA*
;;;********************
(defrule determina-emergencia ""
(not (usuario-emergencia ?))
(not (color ?))
=>
(assert (usuario-emergencia (si-o-no-p "¿Posee el paciente emergencia alguna? (Si/No)"))))
(defrule determina-signos ""
(usuario-emergencia si)
(not (usuario-vivo ?))
(not (color ?))
=>
(assert (usuario-vivo (si-o-no-p "¿Posee el paciente signos vitales? (Si/No)"))))
(defrule determina-sangre ""
(usuario-vivo si)
(not (color ?))
=>
(assert (usuario-sangre (si-o-no-p "¿Tiene el paciente insiciones o hemorragias? (Si/No)"))))
(defrule determina-combulsion ""
(usuario-vivo si)
(usuario-sangre no)
(not (color ?))
=>
(assert (usuario-combulsion (si-o-no-p "¿Tiene el paciente estado de combulsion alguno? (Si/No)"))))
(defrule determina-conciencia ""
(usuario-vivo si)
(usuario-sangre no)
(usuario-combulsion no)
(not (color ?))
=>
(assert (usuario-conciente (si-o-no-p "¿Esta el paciente en estado conciente? (Si/No)"))))
(defrule determina-quemadura ""
(usuario-vivo si)
(usuario-sangre no)
(usuario-combulsion no)
(usuario-conciente si)
(not (color ?))
=>
(assert (usuario-quemadura (si-o-no-p "¿Tiene el paciente quemaduras? (Si/No)"))))
(defrule determina-dolor ""
(usuario-conciencia si)
(usuario-sangre no)
(usuario-combulsion no)
(usuario-conciente si)
(usuario-quemadura no)
(not (color ?))
=>
(assert (usuario-dolor (si-o-no-p "¿Posee el paciente dolor alguno? (Si/No)"))))
(defrule determina-toxico ""
(usuario-vivo si)
(usuario-sangre no)
(usuario-combulsion no)
(usuario-conciente si)
(usuario-quemadura no)
(usuario-dolor no)
(not (color ?))
=>
(assert (usuario-toxico (si-o-no-p "¿Ha ingerido el paciente alguna sustancia toxica? (Si/No)"))))
(defrule determina-vomito ""
(usuario-vivo si)
(usuario-sangre no)
(usuario-combulsion no)
(usuario-conciente si)
(usuario-quemadura no)
(usuario-dolor no)
(usuario-toxico no)
(not (color ?))
=>
(assert (usuario-vomito (si-o-no-p "¿Posee el paciente vomitos severos y persistentes? (Si/No)"))))
(defrule determina-respiracion ""
(usuario-vivo si)
(usuario-sangre no)
(usuario-combulsion no)
(usuario-conciente si)
(usuario-quemadura no)
(usuario-dolor no)
(usuario-toxico no)
(usuario-vomito no)
(not (color ?))
=>
(assert (usuario-respiracion (si-o-no-p "¿Tiene el paciente dificultad al respirar en estado de reposo?(Si/No)"))))
(defrule determina-enfermedad ""
(usuario-vivo si)
(usuario-sangre no)
(usuario-combulsion no)
(usuario-conciente si)
(usuario-quemadura no)
(usuario-dolor no)
(usuario-toxico no)
(usuario-vomito no)
(usuario-respiracion no)
(not (color ?))
=>
(assert (usuario-enfermedad (si-o-no-p "¿Considera que el paciente esta enfermo? (Si/No)"))))
;;============
;;=Emorragias=
;;============
(defrule determina-tipo-sangre ""
(usuario-sangre si)
(not (color ?))
=>
(assert (usuario-tipo-sangre (preguntas "¿Puede definir el tipo de hemorragia? Externa(Heridas)/Exteriorizada(sangre que sale por los orificios del cuerpo)" externa exteriorizada))))
(defrule determina-zona-sangre ""
(usuario-sangre si)
(usuario-sangre-tipo exteriorizada)
(not (color ?))
=>
(assert (usuario-zona-sangre (preguntas "¿Puede expecificar por donde emerge la hemorragia? Boca/Nariz/Recto/Vagina/uretra/Oido/Ojo" boca nariz recto vagina uretra oido ojo))))
(defrule determina-boca-sangre ""
(usuario-sangre si)
(usuario-sangre-tipo exteriorizada)
(usuario-zona-sangre boca)
(not (color ?))
=>
(assert (usuario-boca-sangre (preguntas "¿De que manera expulsa sangre por la boca? Tosiendo/Vomitando" tosiendo vomitando))))
(defrule determina-sangre-externa ""
(usuario-sangre si)
(usuario-sangre-tipo externa)
(not (color ?))
=>
(assert (usuario-sangre-externa (preguntas "¿De que manera se ha producido la herida? Vehicular/Caida/Agresion" vehicular caida agresion))))
;;============
;;=Combulsion=
;;============
(defrule determina-tiempo-combulsion ""
(usuario-vivo si)
(usuario-combulsion si)
(not (color ?))
=>
(assert (usuario-tiempo-combulsion (preguntas "¿Hace cuanto fue la ultima combulsion? Recientemente/1h/4h/8h/Ayer" recientemente 1h 4h 8h ayer))))
;;============
;;=Quemaduras=
;;============
(defrule determina-tipo-quemadura ""
(usuario-vivo si)
(usuario-quemadura si)
(not (color ?))
=>
(assert (usuario-tipo-quemadura (preguntas "¿Puede definir el grado de la quemadura? Primera/Segunda/Tercera" primera segundo tercera))))
;;=======
;;=Dolor=
;;=======
(defrule determina-tipo-dolor ""
(usuario-vivo si)
(usuario-conciencia si)
(usuario-sangre no)
(usuario-combulsion no)
(usuario-conciente si)
(usuario-quemadura no)
(usuario-dolor si)
(not (color ?))
=>
(assert (usuario-tipo-dolor (preguntas "¿Que tipo de dolor padece? Muscular/Oseo/Cefalico/Visceral" muscular oseo cefalico visceral))))
;;========
;;=DolorM=
;;========
(defrule determina-sintoma-dolor-m ""
(usuario-vivo si)
(usuario-conciencia si)
(usuario-sangre no)
(usuario-combulsion no)
(usuario-conciente si)
(usuario-quemadura no)
(usuario-dolor si)
(usuario-tipo-dolor muscular)
(not (color ?))
=>
(assert (usuario-sintoma-M (preguntas "¿Posee sintomas como Hinchazon/Enrojecimiento/Erupcion/Entumecimiento?" hinchazon enrojecimiento erupcion entumecimiento))))
(defrule determina-esguince ""
(usuario-vivo si)
(usuario-conciencia si)
(usuario-sangre no)
(usuario-combulsion no)
(usuario-conciente si)
(usuario-quemadura no)
(usuario-dolor si)
(usuario-tipo-dolor muscular)
(usuario-sintoma enrojecimiento)
(usuario-sintoma entumecimiento)
(not (color ?))
=>
(assert (usuario-esguince (si-o-no-p "¿Considera usted que posee un esguince ?(Si/No)"))))
;;========
;;=DolorO=
;;========
(defrule determina-cancer ""
(usuario-vivo si)
(usuario-conciencia si)
(usuario-sangre no)
(usuario-combulsion no)
(usuario-conciente si)
(usuario-quemadura no)
(usuario-dolor si)
(usuario-tipo-dolor oseo)
(not (color ?))
=>
(assert (usuario-cancer (si-o-no-p "¿Tiene usted cancer en los huesos o posee antecedentes familiares?(Si/No)"))))
(defrule determina-columna ""
(usuario-vivo si)
(usuario-conciencia si)
(usuario-sangre no)
(usuario-combulsion no)
(usuario-conciente si)
(usuario-quemadura no)
(usuario-dolor si)
(usuario-tipo-dolor oseo)
(not (color ?))
=>
(assert (usuario-columna (si-o-no-p "¿Su dolor radica en la columna?(Si/No)"))))
(defrule determina-sintoma-dolor-o ""
(usuario-vivo si)
(usuario-conciencia si)
(usuario-sangre no)
(usuario-combulsion no)
(usuario-conciente si)
(usuario-quemadura no)
(usuario-dolor si)
(usuario-tipo-dolor oseo)
(usuario-cancer no)
(usuario-columna si)
(usuario-columna no)
(not (color ?))
=>
(assert (usuario-sintoma-o (preguntas "¿cual considera que es su caso Fractura/Gangrena(falta de sangre)/Infeccion/Dislocacion?" fractura gangrena infeccion dislocacion))))
(defrule determina-zona-fractura ""
(usuario-vivo si)
(usuario-conciencia si)
(usuario-sangre no)
(usuario-combulsion no)
(usuario-conciente si)
(usuario-quemadura no)
(usuario-dolor si)
(usuario-tipo-dolor oseo)
(usuario-cancer no)
(usuario-columna no)
(not (color ?))
=>
(assert (usuario-zona-fractura (preguntas "¿En que region se encuentra la fractura? Brazos/Piernas/Torso/Espalda/Cabeza" brazos piernas torso espalda cabeza ))))
(defrule determina-fractura ""
(usuario-vivo si)
(usuario-conciencia si)
(usuario-sangre no)
(usuario-combulsion no)
(usuario-conciente si)
(usuario-quemadura no)
(usuario-dolor si)
(usuario-tipo-dolor oseo)
(usuario-sintoma-o fractura)
(usuario-zona-fractura brazo)
(usuario-zona-fractura piernas)
(not (color ?))
=>
(assert (usuario-fractura (si-o-no-p "¿El hueso emerge del cuerpo?(Si/No)"))))
;;==========
;;=Visceral=
;;==========
(defrule determina-sintoma-dolor-v ""
(usuario-vivo si)
(usuario-conciencia si)
(usuario-sangre no)
(usuario-combulsion no)
(usuario-conciente si)
(usuario-quemadura no)
(usuario-dolor si)
(usuario-tipo-dolor visceral)
(not (color ?))
=>
(assert (usuario-sintoma-dolor-v (preguntas "¿En que region posee el dolor Toracica/Abdominal/Genital?" Toracica Abdominal Genital))))
(defrule determina-dolor-abdomen ""
(usuario-vivo si)
(usuario-conciencia si)
(usuario-sangre no)
(usuario-combulsion no)
(usuario-conciente si)
(usuario-quemadura no)
(usuario-dolor si)
(usuario-tipo-dolor visceral)
(usuario-sintoma-dolor-v abdominal)
(not (color ?))
=>
(assert (usuario-abdomen (preguntas "¿En que region se intencifica el dolor Superior/Inferior/Derecha/Izquierda?" superior inferior derecha izquierda ))))
(defrule determina-organo ""
(usuario-vivo si)
(usuario-conciencia si)
(usuario-sangre no)
(usuario-combulsion no)
(usuario-conciente si)
(usuario-quemadura no)
(usuario-dolor si)
(usuario-tipo-dolor visceral)
(usuario-sintoma-dolor-v toracica)
(not (color ?))
=>
(assert (usuario-organo (preguntas "¿Considera que su dolor se relaciona con los pulmones o con el corazon?" corazon pulmones ))))
(defrule determina-dificultad ""
(usuario-vivo si)
(usuario-conciencia si)
(usuario-sangre no)
(usuario-combulsion no)
(usuario-conciente si)
(usuario-quemadura no)
(usuario-dolor si)
(usuario-tipo-dolor visceral)
(usuario-sintoma-o fractura)
(usuario-sintoma-dolor-v toracica)
(not (color ?))
=>
(assert (usuario-dificultad (si-o-no-p "¿Tiene dificultad al respirar?(Si/No)"))))
(defrule determina-caida ""
(usuario-vivo si)
(usuario-conciencia si)
(usuario-sangre no)
(usuario-combulsion no)
(usuario-conciente si)
(usuario-quemadura no)
(usuario-dolor si)
(usuario-tipo-dolor visceral)
(usuario-sintoma-o fractura)
(usuario-sintoma-dolor-v toracica)
(usuario-respiracion si)
(usuario-respiracion no)
(not (color ?))
=>
(assert (usuario-caida (si-o-no-p "¿Ha sufrido caidas o recibido golpes recientes?(Si/No)"))))
;;;=========
;;;=Genital=
;;;=========
(defrule determina-genital ""
(usuario-vivo si)
(usuario-conciencia si)
(usuario-sangre no)
(usuario-combulsion no)
(usuario-conciente si)
(usuario-quemadura no)
(usuario-dolor si)
(usuario-tipo-dolor genital)
(not (color ?))
=>
(assert (usuario-genital (si-o-no-p "¿Considera usted que se trata de una infeccion presenta irritacion erupcion o sintomas similares?(Si/No)"))))
(defrule determina-orina ""
(usuario-vivo si)
(usuario-conciencia si)
(usuario-sangre no)
(usuario-combulsion no)
(usuario-conciente si)
(usuario-quemadura no)
(usuario-dolor si)
(usuario-tipo-dolor genital)
(not (color ?))
=>
(assert (usuario-orina (si-o-no-p "¿Ha orinado sangre?(Si/No)"))))
(defrule determina-gestacion ""
(usuario-vivo si)
(usuario-conciencia si)
(usuario-sangre no)
(usuario-combulsion no)
(usuario-conciente si)
(usuario-quemadura no)
(usuario-dolor si)
(usuario-tipo-dolor genital)
(not (color ?))
=>
(assert (usuario-gestacion (si-o-no-p "¿Se encuentra usted en estado de gestacion (Embarazo)?(Si/No)"))))
;;==========
;;=Cefalico=
;;==========
(defrule determina-sintoma-dolor-c ""
(usuario-vivo si)
(usuario-conciencia si)
(usuario-sangre no)
(usuario-combulsion no)
(usuario-conciente si)
(usuario-quemadura no)
(usuario-dolor si)
(usuario-tipo-dolor cefalico)
(not (color ?))
=>
(assert (usuario-region-dolor-c (preguntas "¿En que region se intencifica el dolor Frente/Cuello/Nariz/Cerebro?" frente cuello nariz cerebro))))
(defrule determina-mucosa ""
(usuario-vivo si)
(usuario-conciencia si)
(usuario-sangre no)
(usuario-combulsion no)
(usuario-conciente si)
(usuario-quemadura no)
(usuario-dolor si)
(usuario-tipo-dolor cefalico)
(usuario-region-dolor-c frente)
(usuario-region-dolor-c nariz)
(not (color ?))
=>
(assert (usuario-mucosa (si-o-no-p "¿Posee dificultad para respirar u ojos rojizos o llorosos?(Si/No)"))))
(defrule determina-migraña ""
(usuario-vivo si)
(usuario-conciencia si)
(usuario-sangre no)
(usuario-combulsion no)
(usuario-conciente si)
(usuario-quemadura no)
(usuario-dolor si)
(usuario-tipo-dolor cefalico)
(usuario-region-dolor-c cerebro)
(not (color ?))
=>
(assert (usuario-migraña (si-o-no-p "¿Considera usted que el dolor interfiere con sus actividades diarias ?(Si/No)"))))
(defrule determina-vision ""
(usuario-vivo si)
(usuario-conciencia si)
(usuario-sangre no)
(usuario-combulsion no)
(usuario-conciente si)
(usuario-quemadura no)
(usuario-dolor si)
(usuario-tipo-dolor cefalico)
(usuario-region-dolor-c cerebro)
(usuario-migraña si)
(not (color ?))
=>
(assert (usuario-vision(si-o-no-p "¿Presenta sintomas como perdida de vision problemas al habla o mala articulacion?(Si/No)"))))
(defrule determina-cuello-debil ""
(usuario-vivo si)
(usuario-conciencia si)
(usuario-sangre no)
(usuario-combulsion no)
(usuario-conciente si)
(usuario-quemadura no)
(usuario-dolor si)
(usuario-tipo-dolor cefalico)
(usuario-region-dolor-c cuello)
(not (color ?))
=>
(assert (usuario-cuello-debil (si-o-no-p "¿Siente debilidad en los brazos u hombros ?(Si/No)"))))
(defrule determina-rotacion ""
(usuario-vivo si)
(usuario-conciencia si)
(usuario-sangre no)
(usuario-combulsion no)
(usuario-conciente si)
(usuario-quemadura no)
(usuario-dolor si)
(usuario-tipo-dolor cefalico)
(usuario-region-dolor-c cuello)
(usuario-cuello-debil no)
(not (color ?))
=>
(assert (usuario-rotacion (si-o-no-p "¿Puede rotar el cuello con facilidad?(Si/No)"))))
(defrule determina-cuello ""
(usuario-vivo si)
(usuario-conciencia si)
(usuario-sangre no)
(usuario-combulsion no)
(usuario-conciente si)
(usuario-quemadura no)
(usuario-dolor si)
(usuario-tipo-dolor cefalico)
(usuario-region-dolor-c cuello)
(usuario-cuello-debil no)
(usuario-rotacion no)
(not (color ?))
=>
(assert (usuario-cuello (si-o-no-p "¿Esta su dolor asociado con la garganta?(Si/No)"))))
(defrule determina-cuello-sintoma ""
(usuario-cuello si)
(usuario-vivo si)
(usuario-conciencia si)
(usuario-sangre no)
(usuario-combulsion no)
(usuario-conciente si)
(usuario-quemadura no)
(not (color ?))
=>
(assert (usuario-cuello-sintoma (si-o-no-p "¿Presenta sintomas como falta del habla o dificultad al tragar?(Si/No)"))))
(defrule determina-cuello-columna ""
(usuario-cuello-debil si)
(usuario-conciencia si)
(usuario-sangre no)
(usuario-combulsion no)
(usuario-conciente si)
(usuario-quemadura no)
(usuario-rotacion si)
(not (color ?))
=>
(assert (usuario-cuello-columna (si-o-no-p "¿Relaciona usted el dolor con la columna?(Si/No)"))))
;;=========
;;=Toxicos=
;;=========
(defrule determina-tipo-toxico ""
(usuario-toxico si)
(not (color ?))
=>
(assert (usuario-tipo-toxico (si-o-no-p "¿Ha ingerido elementos como Gasolina Cloro o Detergentes?(Si/No)"))))
(defrule determina-toxico-daños ""
(usuario-toxico si)
(usuario-tipo-toxico no)
(not (color ?))
=>
(assert (usuario-daños (si-o-no-p "¿Presenta perdida de vision/Dolor de garganta/Ardor en los ojos, nariz o labios?(Si/No)"))))
(defrule determina-sangre-heces ""
(usuario-toxico si)
(usuario-daños no)
(not (color ?))
=>
(assert (usuario-haces (si-o-no-p "¿Presenta sangre en las heces?(Si/No)"))))
(defrule determina-toxico-vomitos ""
(usuario-toxico si)
(usuario-daños no)
(usuario-haces no)
(not (color ?))
=>
(assert (usuario-vomitos (si-o-no-p "¿Ha presentado vomitos?(Si/No)"))))
(defrule determina-toxico-inflamacion ""
(usuario-toxico si)
(usuario-daños no)
(usuario-haces no)
(usuario-vomitos no)
(not (color ?))
=>
(assert (usuario-inflamacion (si-o-no-p "¿Posee dificultad respiratoria o inflamacion en la garganta?(Si/No)"))))
(defrule determina-huecos ""
(usuario-toxico si)
(usuario-daños no)
(usuario-haces no)
(usuario-vomitos no)
(usuario-inflamacion)
(not (color ?))
=>
(assert (usuario-huecos (si-o-no-p "¿Presenta irritacion u orificion en al piel?(Si/No)"))))
;;======
;;=Azul=
;;======
(defrule determina-actividad ""
(usuario-emergencia no)
(not (color ?))
=>
(assert (usuario-actividad (si-o-no-p "¿Viene a entregar documentos como resultados u otros? (Si/No)"))))
;;;**************
;;;*DIAGNOSTICOS*
;;;**************
(defrule estado-vivo ""
(usuario-emergencia si)
(usuario-vivo no)
(not (color ?))
=>
(assert (color "Codigo Rojo")))
(defrule estado-inutil ""
(usuario-emergencia no)
(usuario-actividad no)
(not (color ?))
=>
(assert (color "Por favor no moleste")))
(defrule no-color ""
(declare (salience -20))
(not (color ?))
=>
(assert (color "Lo lamento no estoy capacitado para ayudarlo")))
;;;************************
;;;*REGLAS DE CONCLUCIONES*
;;;************************
(defrule system-banner ""
(declare (salience 20))
=>
(printout t crlf crlf)
(printout t "Sistema Experto de Triaje")
(printout t crlf crlf))
(defrule print-color ""
(declare (salience 20))
(color ?item)
=>
(printout t crlf crlf)
(printout t "Su color es:")
(printout t crlf crlf)
(format t " %s%n%n%n" ?item))
答案 0 :(得分:1)
如果您不使用迁移,可以在应用启动过程中使用此功能:
context.Database.EnsureCreated();
或迁移:
context.Database.Migrate();