Inquiridor
stored procedure não integra-se a model1.edmx

Pergunta
-
Ao adicional Model1 na aplicação a Stored Procedure nao é importada para a aplicação, alguma sugestão:
ALTER PROCEDURE [dbo].[spIdadeEmocional] AS BEGIN DECLARE @DataAtual DATE; SET @DataAtual = GETDATE(); IF ( OBJECT_ID('TEMPDB..#TablePeriodos') IS NOT NULL ) DROP TABLE #TablePeriodos; CREATE TABLE #TablePeriodos ( PeriodoDe INT NOT NULL , PeriodoAte INT NULL , Descricao varchar(max) ); INSERT INTO #TablePeriodos ( PeriodoDe, PeriodoAte, Descricao ) VALUES ( 0, -- PeriodoDe - int 14, -- PeriodoAte - int 'Neonatal (nascimento aos 14 dias)' -- Descricao - varchar(max) ), ( 15, -- PeriodoDe - int 21, -- PeriodoAte - int 'Transicao (15 a 21 dias)' -- Descricao - varchar(max) ), ( 21, -- PeriodoDe - int 28, -- PeriodoAte - int 'Reconhecimento (21 a 28 dias)' -- Descricao - varchar(max) ), ( 21, -- PeriodoDe - int 49, -- PeriodoAte - int 'Socializacao com animais (21 a 49 dias)' -- Descricao - varchar(max) ), ( 49, -- PeriodoDe - int 84, -- PeriodoAte - int 'Socializacao com humanos (49 dias a 3 meses)' -- Descricao - varchar(max) ), ( 56, -- PeriodoDe - int 77, -- PeriodoAte - int 'Medo I(56 a 77 dias)' -- Descricao - varchar(max) ), ( 91, -- PeriodoDe - int 112, -- PeriodoAte - int 'Rebeldia (91 dias a 4 meses)' -- Descricao - varchar(max) ), ( 120, -- PeriodoDe - int 240, -- PeriodoAte - int 'Surdez seletiva (4 a 8 meses)' -- Descricao - varchar(max) ), ( 180, -- PeriodoDe - int 420, -- PeriodoAte - int 'Medo II (6 as 14 meses)' -- Descricao - varchar(max) ), ( 365, -- PeriodoDe - int 1460, -- PeriodoAte - int 'Maturidade (1 a 4 anos)' -- Descricao - varchar(max) ), ( 1461, -- PeriodoDe - int 99999, -- PeriodoAte - int 'Senior' -- Descricao - varchar(max) ) SELECT A.Nome , @DataAtual AS dataAtual , A.data_Nasc AS dataNasc, ( CONVERT(VARCHAR, DATEDIFF(YEAR, A.data_Nasc, @DataAtual)) + ' anos' ) AS 'IdadeAnos' , ( CONVERT(VARCHAR, DATEDIFF(MONTH, A.data_Nasc, @DataAtual)) + ' meses' ) AS 'IdadeMeses' , ( CONVERT(VARCHAR, DATEDIFF(SECOND, A.data_Nasc, @DataAtual) / 86400 / 7) + ' semanas' ) AS 'IdadeSemanas' , SUBSTRING(( SELECT '/' + P.Descricao AS [text()] FROM #TablePeriodos P WHERE DATEDIFF(DAY, A.data_Nasc, @DataAtual) BETWEEN P.PeriodoDe AND P.PeriodoAte FOR XML PATH('') ), 2, 10000) AS 'PeriodoEmocional' FROM dbo.Animal_Companhia A WHERE A.num_CIA>0 OR A.num_CIA IS NULL ORDER BY A.data_Nasc; END
- Editado Wilson Boris segunda-feira, 28 de novembro de 2016 14:02 complemento titulo
Todas as Respostas
-
-
-
Acredito que vc esteja usando o modo Design do Entity (aquele modo gráfico ) que monta o modelo de entidade relacionamento
quando vc adiciona a SP dentro do Entity ele não e mostrado nessa parte gráfica , mas vc pode executar ela só seu código assim
using (Model1Entities db = new Model1Entities ())
{
var result = db.spIdadeEmocional();
}e também pode ser visto aqui.
Wesley Neves
-
-
O VS de vez em quando gosta de dar um tapa.
da uma olhada se vc está executando o VS no Modo Administrador,canto superior esquerdo2) se não for isso, crie um projeto console(para testar ) apenas para importar essa SP , o Código da sua SP eu importei aqui,sem problema, acredito que não seja ela o problema . se for necessário reinicia a maquina.
Wesley Neves
-
Wesley, bota tapa nisso, kkk.
O VS esta no modo administrador, correto?
Criei um novo projeto e adicionei o banco, mas sem sucesso;
Esse problema já esta comigo há algum tempo, então ligar e desligar é diariamente, kkk
- Editado Wilson Boris segunda-feira, 28 de novembro de 2016 23:39 complemento
-
-
-
-
Nada resolvido, kkk.
Veja se é isso:
WebConfig:
<configSections>
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=4.4.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>packages.config:
<package id="EntityFramework" version="5.0.0" targetFramework="net40" />
-
Eu tentei retirar os comentários no código, mas sem sucesso, muito estranho a unica stored que não sobe:
ALTER PROCEDURE [dbo].[spIdadeEmocional] AS BEGIN DECLARE @DataAtual DATE; SET @DataAtual = GETDATE(); IF ( OBJECT_ID('TEMPDB..#TablePeriodos') IS NOT NULL ) DROP TABLE #TablePeriodos; CREATE TABLE #TablePeriodos ( PeriodoDe INT NOT NULL , PeriodoAte INT NULL , Descricao varchar(max) ); INSERT INTO #TablePeriodos(PeriodoDe, PeriodoAte, Descricao) VALUES (0,14,'Neonatal (nascimento aos 14 dias)'), (15,21,'Transicao (15 a 21 dias)'), (21,28,'Reconhecimento (21 a 28 dias)'), (21,49,'Socializacao com animais (21 a 49 dias)'), (49,84,'Socializacao com humanos (49 dias a 3 meses)'), (56,77,'Medo I(56 a 77 dias)'), (91,112,'Rebeldia (91 dias a 4 meses)'), (120,240,'Surdez seletiva (4 a 8 meses)'), (180,420,'Medo II (6 as 14 meses)'), (365,1460,'Maturidade (1 a 4 anos)'), (1461,99999,'Senior' ) SELECT A.Nome , @DataAtual AS dataAtual , A.data_Nasc AS dataNasc, (CONVERT(VARCHAR, DATEDIFF(YEAR, A.data_Nasc, @DataAtual))+'anos') AS 'IdadeAnos', (CONVERT(VARCHAR, DATEDIFF(MONTH, A.data_Nasc, @DataAtual))+'meses') AS 'IdadeMeses', (CONVERT(VARCHAR, DATEDIFF(SECOND, A.data_Nasc, @DataAtual)/86400/7)+'semanas') AS 'IdadeSemanas', SUBSTRING(( SELECT '/' + P.Descricao AS [text()] FROM #TablePeriodos P WHERE DATEDIFF(DAY, A.data_Nasc, @DataAtual) BETWEEN P.PeriodoDe AND P.PeriodoAte FOR XML PATH('') ), 2, 10000) AS 'PeriodoEmocional' FROM dbo.Animal_Companhia A WHERE A.num_CIA>0 OR A.num_CIA IS NULL ORDER BY A.data_Nasc; END
-
Acredito que o problema não seja a SP, o problema deve estar no EF ,
desculpa pela demora , mas notei que vc tem duas versões instaladas
WebConfig:
<configSections>
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=4.4.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>packages.config:
<package id="EntityFramework" version="5.0.0" targetFramework="net40" />
soluções alternativas
1) atualize seu projeto para a versão 5.0 ou mais recente acredito que vai funcionar.
2) eu sei que não e a SP ,por que aqui na minha maquina está sua foi importada corretamente
3) tenta importar outra SP,acredito que tambem vai dar o mesmo erro.
4)posta a sua versão do VS e do Sql sever por favor
5) Existe um forum especifico para aplicações , vc pode conseguir sua resposta lá
5.1)https://social.msdn.microsoft.com/Forums/pt-BR/home?forum=aspnetpt
5.2)https://social.msdn.microsoft.com/Forums/en-US/home?forum=adodotnetentityframework
5.3)https://social.msdn.microsoft.com/Forums/en-US/home?forum=adonetefx
Wesley Neves
- Editado Wesley Neves segunda-feira, 5 de dezembro de 2016 14:03 complemento
-